Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

attack_verbs are now a list, supporting multiple attack verbs #21993

Merged
merged 1 commit into from
May 4, 2024
Merged
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
2 changes: 1 addition & 1 deletion code/datums/martial.dm
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@

var/damage = rand(A.get_punchdamagelow(), A.get_punchdamagehigh())

var/atk_verb = A.dna.species.attack_verb
var/atk_verb = pick(A.dna.species.attack_verbs)
var/atk_effect = A.dna.species.attack_effect
if(!(D.mobility_flags & MOBILITY_STAND))
atk_verb = "kick"
Expand Down
6 changes: 3 additions & 3 deletions code/modules/mob/living/carbon/human/species.dm
Original file line number Diff line number Diff line change
Expand Up @@ -155,8 +155,8 @@ GLOBAL_LIST_EMPTY(features_by_species)
var/list/inherent_traits = list()
///biotypes, used for viruses and the like
var/list/inherent_biotypes = MOB_ORGANIC|MOB_HUMANOID
/// punch-specific attack verb
var/attack_verb = "punch"
/// punch-specific attack verbs
var/list/attack_verbs = list("punch")
///the melee attack sound
var/sound/attack_sound = 'sound/weapons/punch1.ogg'
///the swing and miss sound
Expand Down Expand Up @@ -1668,7 +1668,7 @@ GLOBAL_LIST_EMPTY(features_by_species)
return TRUE
else

var/atk_verb = user.dna.species.attack_verb
var/atk_verb = pick(user.dna.species.attack_verbs)
var/atk_effect = user.dna.species.attack_effect
if(!(target.mobility_flags & MOBILITY_STAND))
atk_verb = "kick"
Expand Down
4 changes: 2 additions & 2 deletions code/modules/mob/living/carbon/human/species_types/IPC.dm
Original file line number Diff line number Diff line change
Expand Up @@ -448,7 +448,7 @@ ipc martial arts stuff
if(!(NO_UNDERWEAR in fake_species.species_traits))
species_traits -= NO_UNDERWEAR
damage_overlay_type = fake_species.damage_overlay_type
attack_verb = fake_species.attack_verb
attack_verbs = fake_species.attack_verbs
attack_effect = fake_species.attack_effect
attack_sound = fake_species.attack_sound
miss_sound = fake_species.miss_sound
Expand Down Expand Up @@ -476,7 +476,7 @@ ipc martial arts stuff
special_walk_sounds = LAZYCOPY(initial_walk_sounds)
damage_overlay_type = initial(damage_overlay_type)
H.dna.features["mcolor"] = ipc_color
attack_verb = initial(attack_verb)
attack_verbs = initial(attack_verbs)
attack_effect = initial(attack_effect)
attack_sound = initial(attack_sound)
miss_sound = initial(miss_sound)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
heatmod = 1.1 // weak to being boiled
default_features = list()
changesource_flags = MIRROR_BADMIN | SLIME_EXTRACT | MIRROR_PRIDE | MIRROR_MAGIC
attack_verb = "slash"
attack_verbs = list("slash")
attack_effect = ATTACK_EFFECT_CLAW
attack_sound = 'sound/weapons/slash.ogg'
miss_sound = 'sound/weapons/slashmiss.ogg'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/datum/species/ethereal
name = "Ethereal"
id = "ethereal"
attack_verb = "burn"
attack_verbs = list("burn", "sear")
attack_sound = 'sound/weapons/etherealhit.ogg'
miss_sound = 'sound/weapons/etherealmiss.ogg'
meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/ethereal
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
name = "Felinid Human"
id = "felinid"
limbs_id = "human"
attack_verb = "slash"
attack_verbs = list("slash")
attack_effect = ATTACK_EFFECT_CLAW
attack_sound = 'sound/weapons/slash.ogg'
miss_sound = 'sound/weapons/slashmiss.ogg'
Expand Down
20 changes: 10 additions & 10 deletions code/modules/mob/living/carbon/human/species_types/golems.dm
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@
speedmod = 4 //pretty fucking slow
meat = /obj/item/stack/ore/iron
info_text = "As a <span class='danger'>Plasteel Golem</span>, you are slower, but harder to stun, and hit very hard when punching. You also magnetically attach to surfaces and so don't float without gravity and cannot have positions swapped with other beings."
attack_verb = "smash"
attack_verbs = list("smash")
attack_effect = ATTACK_EFFECT_SMASH
attack_sound = 'sound/effects/meteorimpact.ogg' //hits pretty hard
prefix = "Plasteel"
Expand Down Expand Up @@ -370,7 +370,7 @@
fixed_mut_color = "#77ff00"
meat = /obj/item/stack/ore/uranium
info_text = "As an <span class='danger'>Uranium Golem</span>, your very touch burns and irradiates organic lifeforms."
attack_verb = "burn"
attack_verbs = list("burn")
attack_sound = 'sound/weapons/sear.ogg'
attack_type = BURN
prefix = "Uranium"
Expand Down Expand Up @@ -489,7 +489,7 @@
fixed_mut_color = "#3333ff"
meat = /obj/item/stack/ore/bluespace_crystal
info_text = "As a <span class='danger'>Bluespace Golem</span>, you are spatially unstable: You will teleport when hit, and you can teleport manually at a long distance."
attack_verb = "bluespace punch"
attack_verbs = list("bluespace punch")
attack_sound = 'sound/effects/phasein.ogg'
prefix = "Bluespace"
special_names = list("Crystal", "Polycrystal")
Expand Down Expand Up @@ -586,7 +586,7 @@
punchstunthreshold = 2 //Harmless and can't stun
meat = /obj/item/stack/ore/bananium
info_text = "As a <span class='danger'>Bananium Golem</span>, you are made for pranking. Your body emits natural honks, and you can barely even hurt people when punching them. Your skin also bleeds banana peels when damaged."
attack_verb = "honk"
attack_verbs = list("honk")
attack_sound = 'sound/items/airhorn2.ogg'
prefix = "Bananium"
special_names = null
Expand Down Expand Up @@ -733,7 +733,7 @@
info_text = "<span class='bold alloy'>As a </span><span class='bold brass'>Clockwork Golem</span><span class='bold alloy'>, you are faster than other types of golems. On death, you will break down into scrap.</span>"
species_traits = list(NOBLOOD,NO_UNDERWEAR,NOEYESPRITES,NOFLASH)
armor = 20 //Reinforced, but much less so to allow for fast movement
attack_verb = "smash"
attack_verbs = list("smash")
attack_effect = ATTACK_EFFECT_SMASH
attack_sound = 'sound/magic/clockwork/anima_fragment_attack.ogg'
possible_genders = list(PLURAL)
Expand Down Expand Up @@ -1040,7 +1040,7 @@
species_traits = list(NOBLOOD,NO_UNDERWEAR,NOEYESPRITES,NOFLASH)
inherent_traits = list(TRAIT_NOBREATH, TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_NOGUNS,TRAIT_RADIMMUNE,TRAIT_GENELESS,TRAIT_PIERCEIMMUNE,TRAIT_NODISMEMBER,TRAIT_NOHUNGER)
limbs_id = "c_golem" //special sprites
attack_verb = "whips"
attack_verbs = list("whips")
attack_sound = 'sound/weapons/whip.ogg'
miss_sound = 'sound/weapons/etherealmiss.ogg'
fixed_mut_color = null
Expand Down Expand Up @@ -1177,7 +1177,7 @@
name = "Capitalist Golem"
id = "capitalist golem"
prefix = "Capitalist"
attack_verb = "monopoliz"
attack_verbs = list("monopoliz")
limbs_id = "ca_golem"
special_names = list("John D. Rockefeller","Rich Uncle Pennybags","Commodore Vanderbilt","Entrepreneur","Mr. Moneybags", "Adam Smith")
species_traits = list(NOBLOOD,NO_UNDERWEAR,NOEYESPRITES,NOFLASH)
Expand Down Expand Up @@ -1228,7 +1228,7 @@
name = "Churchgoing Capitalist Golem"
id = "church_capitalist golem"
prefix = "Religio-Capitalist"
attack_verb = "monopoliz"
attack_verbs = list("monopoliz")
limbs_id = "ca_golem"
special_names = list("John D. Rockefeller","Rich Uncle Pennybags","Commodore Vanderbilt","Entrepreneur","Mr. Moneybags", "Adam Smith")
species_traits = list(NOBLOOD,NO_UNDERWEAR,NOEYESPRITES)
Expand All @@ -1252,7 +1252,7 @@
name = "Soviet Golem"
id = "soviet golem"
prefix = "Comrade"
attack_verb = "nationaliz"
attack_verbs = list("nationaliz")
limbs_id = "s_golem"
special_names = list("Stalin","Lenin","Trotsky","Marx","Comrade") //comrade comrade
species_traits = list(NOBLOOD,NO_UNDERWEAR,NOEYESPRITES,NOFLASH)
Expand Down Expand Up @@ -1542,7 +1542,7 @@
changesource_flags = MIRROR_BADMIN
random_eligible = FALSE // Hell no
info_text = "As a <span class='danger'>Supermatter Golem</span>, you dust almost any physical object that interacts with you, while taking half as much brute damage and three times more burn damage. You also explode on death."
attack_verb = "dusting punch"
attack_verbs = list("dusting punch")
attack_sound = 'sound/effects/supermatter.ogg'
fixed_mut_color = "ff0"
brutemod = 1.5
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
heatmod = 0.67 //greatly appreciate heat, just not too much
default_features = list("mcolor" = "#00FF00", "tail_lizard" = "Smooth", "snout" = "Round", "horns" = "None", "frills" = "None", "spines" = "None", "body_markings" = "None", "legs" = "Normal Legs")
changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT
attack_verb = "slash"
attack_verbs = list("slash", "scratch", "claw")
attack_effect = ATTACK_EFFECT_CLAW
barefoot_step_sound = FOOTSTEP_MOB_CLAW
attack_sound = 'sound/weapons/slash.ogg'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
inherent_biotypes = MOB_ORGANIC|MOB_HUMANOID|MOB_BUG
mutant_bodyparts = list("moth_wings")
default_features = list("moth_wings" = "Plain")
attack_verb = "slash"
attack_verbs = list("slash")
attack_effect = ATTACK_EFFECT_CLAW
attack_sound = 'sound/weapons/slash.ogg'
miss_sound = 'sound/weapons/slashmiss.ogg'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
mutanttongue = /obj/item/organ/tongue/polysmorph
mutanttail = /obj/item/organ/tail/polysmorph
mutantlungs = /obj/item/organ/lungs/xeno
attack_verb = "slash"
attack_verbs = list("slash")
barefoot_step_sound = FOOTSTEP_MOB_CLAW
attack_effect = ATTACK_EFFECT_CLAW
attack_sound = 'sound/weapons/slash.ogg'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
default_color = "336600" //vomit green
species_traits = list(MUTCOLORS, NO_UNDERWEAR, HAS_FLESH, HAS_BONE)
inherent_traits = list(TRAIT_ALWAYS_CLEAN)
attack_verb = "slap"
attack_verbs = list("slap")
attack_effect = ATTACK_EFFECT_DISARM
say_mod = "slurs"
coldmod = 0.5 //snails only come out when its cold and wet
Expand Down
7 changes: 4 additions & 3 deletions yogstation/code/datums/martial/explosive_fist.dm
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,10 @@
D.ignite_mob()
D.apply_damage(A.get_punchdamagehigh() + 3, BRUTE, selected_zone, brute_block) //10 brute
D.apply_damage(A.get_punchdamagehigh() + 3, BURN, selected_zone, burn_block) //10 burn (vs bomb armor)
D.visible_message(span_danger("[A] [A.dna.species.attack_verb]s [D]!"), \
span_userdanger("[A] [A.dna.species.attack_verb]s you!"))
log_combat(A, D, "[A.dna.species.attack_verb]s(Explosive Fist)")
var/atk_verb = pick(A.dna.species.attack_verbs)
D.visible_message(span_danger("[A] [atk_verb]s [D]!"), \
span_userdanger("[A] [atk_verb]s you!"))
log_combat(A, D, "[atk_verb]s(Explosive Fist)")

/datum/martial_art/explosive_fist/proc/check_streak(mob/living/carbon/human/A, mob/living/carbon/human/D)
if(!can_use(A))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
coldmod =0.75 // Average 5% weaker to temperature-based damage
heatmod = 1.35
changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT
attack_verb = "maul"
attack_verbs = list("maul")
attack_sound = 'sound/creatures/gorilla.ogg'
miss_sound = 'sound/weapons/slashmiss.ogg'
meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/gorilla
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
mutant_bodyparts = list("pod_hair", "pod_flower")
default_features = list("mcolor" = "#00FF00", "pod_hair" = "Cabbage", "pod_flower" = "Cabbage")
rare_say_mod = list("rustles" = 10)
attack_verb = "slash"
attack_verbs = list("slash", "lash")
attack_effect = ATTACK_EFFECT_CLAW
attack_sound = 'sound/weapons/slice.ogg'
miss_sound = 'sound/weapons/slashmiss.ogg'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
no_equip = list(ITEM_SLOT_FEET)

say_mod = "intones"
attack_verb = "assault"
attack_verbs = list("assault")
toxic_food = NONE
liked_food = FRIED | SUGAR | JUNKFOOD
disliked_food = GROSS | VEGETABLES
Expand Down
Loading