Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion code/__DEFINES/~darkpack/splats.dm
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,9 @@
//#define SPLAT_FERA "splat_fera"
#define SPLAT_GAROU "splat_garou"
#define SPLAT_CORAX "splat_corax" // DARKPACK TODO - CORAX
#define SPLAT_SAIYAN "splat_saiyan"

#define SPLAT_ALL list(SPLAT_NONE, SPLAT_KINDRED, SPLAT_GHOUL, SPLAT_KINFOLK, SPLAT_GAROU)
#define SPLAT_ALL list(SPLAT_NONE, SPLAT_KINDRED, SPLAT_GHOUL, SPLAT_KINFOLK, SPLAT_GAROU, SPLAT_SAIYAN)

#define SPLAT_PRIO_HALFSPLAT 100
#define SPLAT_PRIO_SPLAT 200
Expand Down
3 changes: 3 additions & 0 deletions code/modules/projectiles/projectile.dm
Original file line number Diff line number Diff line change
Expand Up @@ -359,6 +359,9 @@
if(QDELETED(src) || deletion_queued) // in case one of the above signals deleted the projectile for whatever reason
return BULLET_ACT_BLOCK

if(get_saiyan_splat(target))
return BULLET_ACT_BLOCK

var/turf/target_turf = get_turf(target)
if(target == original)
impact_x = target.pixel_x + p_x - ICON_SIZE_X / 2
Expand Down
1 change: 1 addition & 0 deletions config/darkpack_config.txt
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ ROUNDSTART_SPLATS splat_kindred
ROUNDSTART_SPLATS splat_ghoul
ROUNDSTART_SPLATS splat_kinfolk
ROUNDSTART_SPLATS splat_garou
ROUNDSTART_SPLATS splat_saiyan

## If dead people and ghosts can LOOC to people who are alive.
DISABLE_GHOST_LOOC
Expand Down
149 changes: 149 additions & 0 deletions modular_darkpack/modules/dragon_ball/code/clothing.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
/obj/item/clothing/under/vampire/dragon_ball
abstract_type = /obj/item/clothing/under/vampire/dragon_ball
icon = 'modular_darkpack/modules/dragon_ball/icons/gi_clothing.dmi'
worn_icon = 'modular_darkpack/modules/dragon_ball/icons/gi_clothing.dmi'
ONFLOOR_ICON_HELPER('modular_darkpack/modules/dragon_ball/icons/gi_clothing.dmi')

/obj/item/clothing/suit/vampire/dragon_ball
abstract_type = /obj/item/clothing/suit/vampire/dragon_ball
icon = 'modular_darkpack/modules/dragon_ball/icons/gi_clothing.dmi'
worn_icon = 'modular_darkpack/modules/dragon_ball/icons/gi_clothing.dmi'
ONFLOOR_ICON_HELPER('modular_darkpack/modules/dragon_ball/icons/gi_clothing.dmi')
slowdown = 0.2 // Weighted Gi

/obj/item/clothing/gloves/vampire/dragon_ball
abstract_type = /obj/item/clothing/gloves/vampire/dragon_ball
icon = 'modular_darkpack/modules/dragon_ball/icons/gi_clothing.dmi'
worn_icon = 'modular_darkpack/modules/dragon_ball/icons/gi_clothing.dmi'
ONFLOOR_ICON_HELPER('modular_darkpack/modules/dragon_ball/icons/gi_clothing.dmi')

/obj/item/clothing/shoes/vampire/dragon_ball
abstract_type = /obj/item/clothing/shoes/vampire/dragon_ball
icon = 'modular_darkpack/modules/dragon_ball/icons/gi_clothing.dmi'
worn_icon = 'modular_darkpack/modules/dragon_ball/icons/gi_clothing.dmi'
ONFLOOR_ICON_HELPER('modular_darkpack/modules/dragon_ball/icons/gi_clothing.dmi')

/obj/item/clothing/head/vampire/dragon_ball
abstract_type = /obj/item/clothing/head/vampire/dragon_ball
icon = 'modular_darkpack/modules/dragon_ball/icons/gi_clothing.dmi'
worn_icon = 'modular_darkpack/modules/dragon_ball/icons/gi_clothing.dmi'
ONFLOOR_ICON_HELPER('modular_darkpack/modules/dragon_ball/icons/gi_clothing.dmi')


/obj/item/clothing/under/vampire/dragon_ball/saiyan
name = "journey clothes"
desc = "A saiyan gi."
icon_state = "saiyan_gi"

/obj/item/clothing/suit/vampire/dragon_ball/saiyan
name = "journey weighted gi"
desc = "A saiyan gi. Weighted for training."
icon_state = "saiyan_suit"

/obj/item/clothing/gloves/vampire/dragon_ball/saiyan
name = "journey gloves"
icon_state = "saiyan_gloves"

/obj/item/clothing/shoes/vampire/dragon_ball/saiyan
name = "journey shoes"
icon_state = "saiyan_shoes"


/obj/item/clothing/under/vampire/dragon_ball/frieza
name = "frieza force gi"
desc = "A frieza force gi."
icon_state = "frieza_gi"

/obj/item/clothing/suit/vampire/dragon_ball/frieza
name = "frieza force suit"
desc = "A frieza force suit."
icon_state = "frieza_suit"

/obj/item/clothing/gloves/vampire/dragon_ball/frieza
name = "frieza force gloves"
icon_state = "frieza_gloves"

/obj/item/clothing/shoes/vampire/dragon_ball/frieza
name = "frieza force shoes"
icon_state = "frieza_shoes"


/obj/item/clothing/under/vampire/dragon_ball/piccolo
name = "weighted demon gi"
desc = "A gi worn by the Namekians."
icon_state = "piccolo_gi"

/obj/item/clothing/suit/vampire/dragon_ball/piccolo
name = "demon cape"
desc = "A gi worn by the Namekians. Weighted for training."
icon_state = "piccolo_suit"

/obj/item/clothing/gloves/vampire/dragon_ball/piccolo
icon_state = "piccolo_gloves"

/obj/item/clothing/shoes/vampire/dragon_ball/piccolo
icon_state = "piccolo_shoes"

/obj/item/clothing/head/vampire/dragon_ball/piccolo
name = "demon turban"
desc = "Worn by the Namekians."
icon_state = "piccolo_hat"


/obj/item/clothing/under/vampire/dragon_ball/roshi
name = "turtle-hermit button up"
desc = "A button up worn by roshi."
icon_state = "roshi_gi"

/obj/item/clothing/shoes/vampire/dragon_ball/roshi
name = "turtle-hermit shoes"
icon_state = "roshi_shoes"

/obj/item/storage/backpack/roshi_turtle_shell
name = "turtle-hermit shell"
icon_state = "turtle_shell"
icon = 'modular_darkpack/modules/dragon_ball/icons/gi_clothing.dmi'
worn_icon = 'modular_darkpack/modules/dragon_ball/icons/gi_clothing.dmi'
ONFLOOR_ICON_HELPER('modular_darkpack/modules/dragon_ball/icons/gi_clothing.dmi')

/obj/item/clothing/glasses/vampire/sun/roshi
name = "turtle-hermit shades"
icon_state = "shades"
icon = 'modular_darkpack/modules/dragon_ball/icons/gi_clothing.dmi'
worn_icon = 'modular_darkpack/modules/dragon_ball/icons/gi_clothing.dmi'
ONFLOOR_ICON_HELPER('modular_darkpack/modules/dragon_ball/icons/gi_clothing.dmi')


/obj/item/clothing/under/vampire/dragon_ball/bulma
name = "capsule suit"
// desc = "A gi worn by the Namekians."
icon_state = "bulma_gi"

/obj/item/clothing/suit/vampire/dragon_ball/bulma
name = "capsule coat"
// name = "demon cape"
// desc = "A gi worn by the Namekians. Weighted for training."
icon_state = "bulma_suit"

/obj/item/clothing/gloves/vampire/dragon_ball/bulma
name = "capsule gloves"
icon_state = "bulma_gloves"

/obj/item/clothing/shoes/vampire/dragon_ball/bulma
name = "capsule shoes"
icon_state = "bulma_shoes"


/obj/item/clothing/under/vampire/dragon_ball/tien
name = "brigand gi"
// name = "weighted demon gi"
// desc = "A gi worn by the Namekians."
icon_state = "tien_gi"

/obj/item/clothing/gloves/vampire/dragon_ball/tien
name = "brigand gloves"
icon_state = "tien_gloves"

/obj/item/clothing/shoes/vampire/dragon_ball/tien
name = "brigand shoes"
icon_state = "tien_shoes"
12 changes: 12 additions & 0 deletions modular_darkpack/modules/dragon_ball/code/frieza_force_team.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
/datum/ert/darkpack/frieza
leader_role = /datum/antagonist/ert/darkpack/frieza_force
roles = list(/datum/antagonist/ert/darkpack/frieza_force)
rename_team = "Frieza Force"
mission = "Take control of this planet for lord Frieza."
polldesc = "Frieza Force"

/datum/antagonist/ert/darkpack/frieza_force
name = "Frieza Force"
outfit = /datum/outfit/dragon_ball/frieza
role = "Frieza Force"

76 changes: 76 additions & 0 deletions modular_darkpack/modules/dragon_ball/code/saibamen.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
/mob/living/basic/saibamen
name = "saibamen"
// desc = "The pinnacle of bestial terror. Unbelievably tough."

icon = 'modular_darkpack/modules/dragon_ball/icons/saibamen.dmi'
icon_state = "saibamen"
icon_living = "saibamen"
icon_dead = "saibamen"

faction = list(FACTION_HOSTILE)

mob_biotypes = MOB_PLANT|MOB_HUMANOID
mob_size = MOB_SIZE_SMALL
maxHealth = 200
health = 200
butcher_results = list(
/obj/effect/spawner/random/medical/organs = 1,
/obj/effect/spawner/random/food_or_drink/seed = 3,
)
melee_damage_lower = 30
melee_damage_upper = 30
attack_verb_continuous = "slashes"
attack_verb_simple = "slash"
attack_sound = 'sound/items/weapons/slash.ogg'
combat_mode = TRUE

ai_controller = /datum/ai_controller/basic_controller/simple/simple_hostile_obstacles

/mob/living/basic/saibamen/death()
. = ..()
visible_message(span_warning("[src] explodes!"))
explosion(src, flame_range = 3, adminlog = FALSE)
gib(DROP_ALL_REMAINS)

/obj/item/saibamen_seed
name = "saibamen seed"
desc = "Can be used to grow a saibamen of a power level of up to 1200 if grown on earth!!"
icon = 'modular_darkpack/modules/dragon_ball/icons/beans.dmi'
ONFLOOR_ICON_HELPER('modular_darkpack/modules/dragon_ball/icons/beans_onfloor.dmi')
icon_state = "seed"

w_class = WEIGHT_CLASS_SMALL

/obj/item/saibamen_seed/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers)
if(!isturf(interacting_with))
return

var/static/list/turfs_to_consider = typecacheof(list(
/turf/open/misc/asteroid,
/turf/open/misc/beach,
/turf/open/misc/dirt,
/turf/open/misc/grass,
/turf/open/misc/basalt,
/turf/open/misc/ashplanet,
/turf/open/misc/snow,
/turf/open/misc/sandy_dirt,
))

if(!is_type_in_typecache(interacting_with, turfs_to_consider))
to_chat(user, span_warning("[src] has to be planted in the ground."))
return NONE

if(!do_after(user, 1 SECONDS, src))
return

user.visible_message(
span_warning("[user] plants a seed that sprouts out of the ground rapidy, shifting and contorting into a creature!"),
span_warning("You plant [src] and it quickly starts to grow into a creature."),
span_warning("You hear shifting roots and soil.")
)

var/mob/living/carbon/human/human_user = astype(user)
human_user?.add_beastmaster_minion(/mob/living/basic/saibamen, interacting_with)

qdel(src)

Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
/datum/splat/saiyan/get_power(power_type)
RETURN_TYPE(/datum/action/cooldown/power/saiyan)

for(var/datum/action/cooldown/power/saiyan/found_action as anything in powers)
if(!istype(found_action, power_type))
continue

return found_action

/datum/splat/saiyan/add_power(power_type, level)
// Prevent duplicates
if(get_power(power_type))
return FALSE
var/datum/action/cooldown/power/saiyan/adding_action = new power_type()
adding_action.Grant(owner)
LAZYADD(powers, adding_action)
return TRUE

/datum/splat/saiyan/remove_power(power_type)
var/datum/action/cooldown/power/saiyan/found_action = get_power(power_type)
if(!found_action)
return FALSE

LAZYREMOVE(powers, found_action)
qdel(found_action)
return TRUE

/datum/splat/saiyan/change_power_level(power_type, new_level)
return
Loading
Loading