simple animals now have specific do_attack_animation visual effects. (#57520)

This commit is contained in:
Ghom
2021-03-09 16:21:51 -08:00
committed by GitHub
parent 4eb4abd959
commit fdb93f8c4b
59 changed files with 112 additions and 29 deletions
+1
View File
@@ -28,6 +28,7 @@
attack_verb_continuous = "glomps"
attack_verb_simple = "glomp"
attack_sound = 'sound/effects/blobattack.ogg'
attack_vis_effect = ATTACK_EFFECT_BITE //nom nom nom
butcher_results = list(/obj/item/food/meat/slab = 2)
var/morphed = FALSE
@@ -22,6 +22,7 @@
stop_automated_movement = TRUE
status_flags = CANPUSH
attack_sound = 'sound/magic/demon_attack1.ogg'
attack_vis_effect = ATTACK_EFFECT_CLAW
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
minbodytemp = 250 //Weak to cold
maxbodytemp = INFINITY
@@ -210,6 +211,7 @@
attack_verb_simple = "wildly tickle"
attack_sound = 'sound/items/bikehorn.ogg'
attack_vis_effect = null
feast_sound = 'sound/spookoween/scary_horn2.ogg'
deathsound = 'sound/misc/sadtrombone.ogg'
+12 -18
View File
@@ -146,7 +146,8 @@ GLOBAL_LIST_EMPTY(roundstart_races)
///Punch-specific attack verb.
var/attack_verb = "punch"
///
/// The visual effect of the attack.
var/attack_effect = ATTACK_EFFECT_PUNCH
var/sound/attack_sound = 'sound/weapons/punch1.ogg'
var/sound/miss_sound = 'sound/weapons/punchmiss.ogg'
@@ -1347,23 +1348,16 @@ GLOBAL_LIST_EMPTY(roundstart_races)
else
var/atk_verb = user.dna.species.attack_verb
var/atk_effect = user.dna.species.attack_effect
if(target.body_position == LYING_DOWN)
atk_verb = ATTACK_EFFECT_KICK
atk_verb = "kick"
atk_effect = ATTACK_EFFECT_KICK
switch(atk_verb)//this code is really stupid but some genius apparently made "claw" and "slash" two attack types but also the same one so it's needed i guess
if(ATTACK_EFFECT_KICK)
user.do_attack_animation(target, ATTACK_EFFECT_KICK)
if(ATTACK_EFFECT_SLASH || ATTACK_EFFECT_CLAW)//smh
user.do_attack_animation(target, ATTACK_EFFECT_CLAW)
if(ATTACK_EFFECT_SMASH)
user.do_attack_animation(target, ATTACK_EFFECT_SMASH)
if(ATTACK_EFFECT_BITE)
if(user.is_mouth_covered(FALSE, TRUE))
to_chat(user, "<span class='warning'>You can't bite with your mouth covered!</span>")
return FALSE
user.do_attack_animation(target, ATTACK_EFFECT_BITE)
else
user.do_attack_animation(target, ATTACK_EFFECT_PUNCH)
if(atk_effect == ATTACK_EFFECT_BITE)
if(user.is_mouth_covered(mask_only = TRUE))
to_chat(user, "<span class='warning'>You can't [atk_verb] with your mouth covered!</span>")
return FALSE
user.do_attack_animation(target, atk_effect)
var/damage = rand(user.dna.species.punchdamagelow, user.dna.species.punchdamagehigh)
@@ -1371,7 +1365,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
var/miss_chance = 100//calculate the odds that a punch misses entirely. considers stamina and brute damage of the puncher. punches miss by default to prevent weird cases
if(user.dna.species.punchdamagelow)
if(atk_verb == ATTACK_EFFECT_KICK || HAS_TRAIT(user, TRAIT_PERFECT_ATTACKER)) //kicks never miss (provided your species deals more than 0 damage)
if(atk_effect == ATTACK_EFFECT_KICK || HAS_TRAIT(user, TRAIT_PERFECT_ATTACKER)) //kicks never miss (provided your species deals more than 0 damage)
miss_chance = 0
else
miss_chance = min((user.dna.species.punchdamagehigh/user.dna.species.punchdamagelow) + user.getStaminaLoss() + (user.getBruteLoss()*0.5), 100) //old base chance for a miss + various damage. capped at 100 to prevent weirdness in prob()
@@ -1399,7 +1393,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
if(user.limb_destroyer)
target.dismembering_strike(user, affecting.body_zone)
if(atk_verb == ATTACK_EFFECT_KICK)//kicks deal 1.5x raw damage
if(atk_effect == ATTACK_EFFECT_KICK)//kicks deal 1.5x raw damage
target.apply_damage(damage*1.5, user.dna.species.attack_type, affecting, armor_block)
log_combat(user, target, "kicked")
else//other attacks deal full raw damage + 1.5x in stamina damage
@@ -195,6 +195,7 @@
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_effect = ATTACK_EFFECT_SMASH
attack_sound = 'sound/effects/meteorimpact.ogg' //hits pretty hard
prefix = "Plasteel"
special_names = null
@@ -15,6 +15,7 @@
payday_modifier = 0.75
changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT
attack_verb = "slash"
attack_effect = ATTACK_EFFECT_CLAW
attack_sound = 'sound/weapons/slash.ogg'
miss_sound = 'sound/weapons/slashmiss.ogg'
meat = /obj/item/food/meat/slab/human/mutant/lizard
@@ -3,6 +3,7 @@
id = "monkey"
say_mod = "chimpers"
attack_verb = "bite"
attack_effect = ATTACK_EFFECT_BITE
attack_sound = 'sound/weapons/bite.ogg'
miss_sound = 'sound/weapons/bite.ogg'
mutant_organs = list(/obj/item/organ/tail/monkey)
@@ -91,8 +92,8 @@
/datum/species/monkey/handle_mutations_and_radiation(mob/living/carbon/human/H)
. = ..()
if(H.radiation > RAD_MOB_MUTATE * 2 && prob(50))
H.gorillize()
if(H.radiation > RAD_MOB_MUTATE * 2 && prob(50))
H.gorillize()
return
/datum/species/monkey/check_roundstart_eligible()
@@ -7,6 +7,7 @@
inherent_biotypes = MOB_ORGANIC|MOB_HUMANOID|MOB_BUG
mutant_bodyparts = list("moth_wings" = "Plain", "moth_antennae" = "Plain", "moth_markings" = "None")
attack_verb = "slash"
attack_effect = ATTACK_EFFECT_CLAW
attack_sound = 'sound/weapons/slash.ogg'
miss_sound = 'sound/weapons/slashmiss.ogg'
meat = /obj/item/food/meat/slab/human/mutant/moth
@@ -6,6 +6,7 @@
species_traits = list(MUTCOLORS,EYECOLOR, HAS_FLESH, HAS_BONE)
inherent_factions = list("plants", "vines")
attack_verb = "slash"
attack_effect = ATTACK_EFFECT_CLAW
attack_sound = 'sound/weapons/slice.ogg'
miss_sound = 'sound/weapons/slashmiss.ogg'
burnmod = 1.25
@@ -6,6 +6,7 @@
species_traits = list(MUTCOLORS, NO_UNDERWEAR, HAS_FLESH, HAS_BONE)
inherent_traits = list(TRAIT_ADVANCEDTOOLUSER, TRAIT_NOSLIPALL)
attack_verb = "slap"
attack_effect = ATTACK_EFFECT_DISARM
say_mod = "slurs"
coldmod = 0.5 //snails only come out when its cold and wet
burnmod = 2
@@ -60,6 +60,7 @@
species_traits |= S.species_traits
inherent_traits |= S.inherent_traits
attack_verb = S.attack_verb
attack_effect = S.attack_effect
attack_sound = S.attack_sound
miss_sound = S.miss_sound
meat = S.meat
@@ -78,6 +79,7 @@
species_traits = initial_species_traits.Copy()
inherent_traits = initial_inherent_traits.Copy()
attack_verb = initial(attack_verb)
attack_effect = initial(attack_verb)
attack_sound = initial(attack_sound)
miss_sound = initial(miss_sound)
mutant_bodyparts = list()
@@ -172,7 +172,9 @@
/mob/living/simple_animal/do_attack_animation(atom/A, visual_effect_icon, used_item, no_effect)
if(!no_effect && !visual_effect_icon && melee_damage_upper)
if(melee_damage_upper < 10)
if(attack_vis_effect && !iswallturf(A)) // override the standard visual effect.
visual_effect_icon = attack_vis_effect
else if(melee_damage_upper < 10)
visual_effect_icon = ATTACK_EFFECT_PUNCH
else
visual_effect_icon = ATTACK_EFFECT_SMASH
@@ -204,6 +204,7 @@
attack_verb_continuous = "slashes"
attack_verb_simple = "slash"
attack_sound = 'sound/weapons/bladeslice.ogg'
attack_vis_effect = ATTACK_EFFECT_SLASH
construct_spells = list(/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/shift)
runetype = /datum/action/innate/cult/create_rune/tele
playstyle_string = "<b>You are a Wraith. Though relatively fragile, you are fast, deadly, can phase through walls, and your attacks will lower the cooldown on phasing.</b>"
@@ -378,6 +379,7 @@
attack_verb_continuous = "butchers"
attack_verb_simple = "butcher"
attack_sound = 'sound/weapons/bladeslice.ogg'
attack_vis_effect = ATTACK_EFFECT_SLASH
construct_spells = list(/obj/effect/proc_holder/spell/aoe_turf/area_conversion,
/obj/effect/proc_holder/spell/targeted/forcewall/cult)
playstyle_string = "<B>You are a Harvester. You are incapable of directly killing humans, but your attacks will remove their limbs: \
@@ -41,6 +41,11 @@
held_state = "cat2"
pet_bonus = TRUE
pet_bonus_emote = "purrs!"
///In the case 'melee_damage_upper' is somehow raised above 0
attack_verb_continuous = "claws"
attack_verb_simple = "claw"
attack_sound = 'sound/weapons/slash.ogg'
attack_vis_effect = ATTACK_EFFECT_CLAW
footstep_type = FOOTSTEP_MOB_CLAW
@@ -23,6 +23,11 @@
var/obj/item/inventory_head
var/obj/item/inventory_mask
gold_core_spawnable = FRIENDLY_SPAWN
///In the case 'melee_damage_upper' is somehow raised above 0
attack_verb_continuous = "snips"
attack_verb_simple = "snip"
attack_sound = 'sound/weapons/bite.ogg'
attack_vis_effect = ATTACK_EFFECT_BITE
/mob/living/simple_animal/crab/Initialize()
. = ..()
@@ -21,6 +21,11 @@
pet_bonus_emote = "woofs happily!"
ai_controller = /datum/ai_controller/dog
stop_automated_movement = TRUE
///In the case 'melee_damage_upper' is somehow raised above 0
attack_verb_continuous = "bites"
attack_verb_simple = "bite"
attack_sound = 'sound/weapons/bite.ogg'
attack_vis_effect = ATTACK_EFFECT_BITE
footstep_type = FOOTSTEP_MOB_CLAW
@@ -25,6 +25,7 @@
attack_verb_continuous = "kicks"
attack_verb_simple = "kick"
attack_sound = 'sound/weapons/punch1.ogg'
attack_vis_effect = ATTACK_EFFECT_KICK
health = 40
maxHealth = 40
minbodytemp = 180
@@ -138,6 +139,7 @@
attack_verb_continuous = "kicks"
attack_verb_simple = "kick"
attack_sound = 'sound/weapons/punch1.ogg'
attack_vis_effect = ATTACK_EFFECT_KICK
health = 50
maxHealth = 50
var/obj/item/udder/udder = null
@@ -25,6 +25,11 @@
held_state = "fox"
pet_bonus = TRUE
pet_bonus_emote = "pants and yaps happily!"
///In the case 'melee_damage_upper' is somehow raised above 0
attack_verb_continuous = "bites"
attack_verb_simple = "bite"
attack_sound = 'sound/weapons/bite.ogg'
attack_vis_effect = ATTACK_EFFECT_BITE
footstep_type = FOOTSTEP_MOB_CLAW
@@ -27,6 +27,11 @@
held_state = "sloth"
pet_bonus = TRUE
pet_bonus_emote = "slowly smiles!"
///In the case 'melee_damage_upper' is somehow raised above 0
attack_verb_continuous = "bites"
attack_verb_simple = "bite"
attack_sound = 'sound/weapons/bite.ogg'
attack_vis_effect = ATTACK_EFFECT_BITE
footstep_type = FOOTSTEP_MOB_CLAW
@@ -21,6 +21,8 @@
maxHealth = 20
attack_verb_continuous = "bites"
attack_verb_simple = "bite"
attack_sound = 'sound/weapons/bite.ogg'
attack_vis_effect = ATTACK_EFFECT_BITE
melee_damage_lower = 5
melee_damage_upper = 6
response_help_continuous = "pets"
@@ -125,6 +125,7 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
attack_verb_continuous = "bites"
attack_verb_simple = "bite"
attack_sound = 'sound/weapons/bite.ogg'
attack_vis_effect = ATTACK_EFFECT_BITE
recolorentiresprite = TRUE
if(!recolorentiresprite) //we want this to proc before stand logs in, so the overlay isn't gone for some reason
cooloverlay = mutable_appearance(icon, theme)
@@ -5,6 +5,7 @@
attack_verb_continuous = "slashes"
attack_verb_simple = "slash"
attack_sound = 'sound/weapons/bladeslice.ogg'
attack_vis_effect = ATTACK_EFFECT_SLASH
damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1)
playstyle_string = "<span class='holoparasite'>As an <b>assassin</b> type you do medium damage and have no damage resistance, but can enter stealth, massively increasing the damage of your next attack and causing it to ignore armor. Stealth is broken when you attack or take damage.</span>"
magic_fluff_string = "<span class='holoparasite'>..And draw the Space Ninja, a lethal, invisible assassin.</span>"
@@ -22,6 +22,7 @@
bubble_icon = "alien"
combat_mode = TRUE
attack_sound = 'sound/weapons/bladeslice.ogg'
attack_vis_effect = ATTACK_EFFECT_CLAW
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
faction = list(ROLE_ALIEN)
status_flags = CANPUSH
@@ -33,6 +33,7 @@
attack_verb_continuous = "claws"
attack_verb_simple = "claw"
attack_sound = 'sound/weapons/bladeslice.ogg'
attack_vis_effect = ATTACK_EFFECT_CLAW
friendly_verb_continuous = "bear hugs"
friendly_verb_simple = "bear hug"
@@ -142,6 +143,8 @@
deathmessage = "loses its false life and collapses!"
butcher_results = list(/obj/item/food/butter = 6, /obj/item/food/meat/slab = 3, /obj/item/organ/brain = 1, /obj/item/organ/heart = 1)
attack_sound = 'sound/weapons/slap.ogg'
attack_vis_effect = ATTACK_EFFECT_DISARM
attack_verb_simple = "slap"
attack_verb_continuous = "slaps"
/mob/living/simple_animal/hostile/bear/butter/add_cell_sample()
@@ -34,6 +34,7 @@
attack_verb_continuous = "bites"
attack_verb_simple = "bite"
attack_sound = 'sound/weapons/bite.ogg'
attack_vis_effect = ATTACK_EFFECT_BITE
speak_emote = list("gnashes")
//Space carp aren't affected by cold.
@@ -87,6 +87,7 @@
obj_damage = 20
gold_core_spawnable = HOSTILE_SPAWN
attack_sound = 'sound/weapons/bladeslice.ogg'
attack_vis_effect = ATTACK_EFFECT_SLASH
faction = list("hostile")
sharpness = SHARP_POINTY
squish_chance = 0 // manual squish if relevant
@@ -67,6 +67,7 @@
attack_verb_continuous = "bites"
attack_verb_simple = "bite"
attack_sound = 'sound/weapons/bite.ogg'
attack_vis_effect = ATTACK_EFFECT_BITE
unique_name = 1
gold_core_spawnable = HOSTILE_SPAWN
lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE
@@ -26,6 +26,7 @@
attack_verb_continuous = "pecks"
attack_verb_simple = "peck"
attack_sound = "goose"
attack_vis_effect = ATTACK_EFFECT_BITE
speak_emote = list("honks")
faction = list("neutral")
attack_same = TRUE
@@ -14,6 +14,7 @@
attack_verb_continuous = "chomps"
attack_verb_simple = "chomp"
attack_sound = 'sound/weapons/bite.ogg'
attack_vis_effect = ATTACK_EFFECT_BITE
faction = list("creature")
robust_searching = 1
stat_attack = DEAD
@@ -19,6 +19,7 @@
attack_verb_continuous = "claws"
attack_verb_simple = "claw"
attack_sound = 'sound/weapons/bladeslice.ogg'
attack_vis_effect = ATTACK_EFFECT_CLAW
projectilesound = 'sound/weapons/gun/pistol/shot.ogg'
projectiletype = /obj/projectile/hivebotbullet
faction = list("hivebot")
@@ -20,6 +20,7 @@
aggro_vision_range = 9
speak_emote = list("chitters")
attack_sound = 'sound/weapons/bladeslice.ogg'
attack_vis_effect = ATTACK_EFFECT_SLASH
ranged_cooldown_time = 60
projectiletype = /obj/projectile/mega_arachnid
projectilesound = 'sound/weapons/pierce.ogg'
@@ -28,6 +28,7 @@
robust_searching = TRUE
stat_attack = HARD_CRIT
attack_sound = 'sound/weapons/rapierhit.ogg'
attack_vis_effect = ATTACK_EFFECT_SLASH
deathsound = 'sound/voice/mook_death.ogg'
aggro_vision_range = 15 //A little more aggressive once in combat to balance out their really low HP
var/attack_state = MOOK_ATTACK_NEUTRAL
@@ -17,6 +17,7 @@ I'd rather there be something than the clockwork ruin be entirely empty though s
attack_verb_continuous = "slashes"
attack_verb_simple = "slash"
attack_sound = 'sound/weapons/bladeslice.ogg'
attack_vis_effect = ATTACK_EFFECT_SLASH
weather_immunities = list("snow")
speak_emote = list("roars")
armour_penetration = 40
@@ -42,6 +42,7 @@
attack_verb_continuous = "chomps"
attack_verb_simple = "chomp"
attack_sound = 'sound/magic/demon_attack1.ogg'
attack_vis_effect = ATTACK_EFFECT_BITE
icon = 'icons/mob/lavaland/64x64megafauna.dmi'
icon_state = "dragon"
icon_living = "dragon"
@@ -28,6 +28,7 @@
attack_verb_continuous = "chomps"
attack_verb_simple = "chomp"
attack_sound = 'sound/magic/demon_attack1.ogg'
attack_vis_effect = ATTACK_EFFECT_BITE
speak_emote = list("echoes")
armour_penetration = 50
melee_damage_lower = 25
@@ -24,6 +24,7 @@ Difficulty: Hard
attack_verb_continuous = "claws"
attack_verb_simple = "claw"
attack_sound = 'sound/magic/demon_attack1.ogg'
attack_vis_effect = ATTACK_EFFECT_CLAW
weather_immunities = list("snow")
speak_emote = list("roars")
armour_penetration = 40
@@ -28,6 +28,7 @@
attack_verb_simple = "bite into"
speak_emote = list("chitters")
attack_sound = 'sound/weapons/bladeslice.ogg'
attack_vis_effect = ATTACK_EFFECT_BITE
aggro_vision_range = 9
turns_per_move = 5
gold_core_spawnable = HOSTILE_SPAWN
@@ -109,6 +110,7 @@
combat_mode = TRUE
speak_emote = list("telepathically cries")
attack_sound = 'sound/weapons/bladeslice.ogg'
attack_vis_effect = null // doesn't bite unlike the parent type.
stat_attack = HARD_CRIT
is_flying_animal = TRUE
robust_searching = 1
@@ -18,6 +18,7 @@
attack_verb_continuous = "slashes"
attack_verb_simple = "slash"
attack_sound = 'sound/effects/curseattack.ogg'
attack_vis_effect = ATTACK_EFFECT_SLASH
throw_message = "passes through the smokey body of"
obj_damage = 0
environment_smash = ENVIRONMENT_SMASH_NONE
@@ -32,6 +32,7 @@
attack_verb_continuous = "slashes its arms at"
attack_verb_simple = "slash your arms at"
attack_sound = 'sound/weapons/bladeslice.ogg'
attack_vis_effect = ATTACK_EFFECT_SLASH
throw_message = "doesn't affect the sturdiness of"
speed = 1
move_to_delay = 3
@@ -249,6 +250,7 @@
attack_verb_continuous = "bites at"
attack_verb_simple = "bite at"
attack_sound = 'sound/effects/curse1.ogg'
attack_vis_effect = ATTACK_EFFECT_BITE
throw_message = "simply misses"
speed = 0
move_to_delay = 2
@@ -81,6 +81,7 @@
attack_verb_simple = "slash"
speak_emote = list("telepathically cries")
attack_sound = 'sound/weapons/pierce.ogg'
attack_vis_effect = ATTACK_EFFECT_SLASH
throw_message = "falls right through the strange body of the"
obj_damage = 0
environment_smash = ENVIRONMENT_SMASH_NONE
@@ -179,6 +180,7 @@
melee_damage_upper = 12
attack_verb_continuous = "bites"
attack_verb_simple = "bite"
attack_vis_effect = ATTACK_EFFECT_BITE
speak_emote = list("echoes")
attack_sound = 'sound/weapons/pierce.ogg'
throw_message = "is shrugged off by"
@@ -26,6 +26,7 @@
attack_verb_continuous = "slices"
attack_verb_simple = "slice"
attack_sound = 'sound/weapons/bladeslice.ogg'
attack_vis_effect = ATTACK_EFFECT_SLASH
vision_range = 9
aggro_vision_range = 9
move_force = MOVE_FORCE_VERY_STRONG
@@ -23,6 +23,7 @@
attack_verb_continuous = "chomps"
attack_verb_simple = "chomp"
attack_sound = 'sound/magic/demon_attack1.ogg'
attack_vis_effect = ATTACK_EFFECT_BITE
ranged_message = "breathes fire at"
vision_range = 9
aggro_vision_range = 9
@@ -24,6 +24,7 @@
attack_verb_continuous = "snips"
attack_verb_simple = "snip"
attack_sound = 'sound/weapons/bite.ogg'
attack_vis_effect = ATTACK_EFFECT_BITE //the closest we have to a crustacean pinching attack effect rn.
weather_immunities = list("snow")
vision_range = 5
aggro_vision_range = 7
@@ -20,6 +20,7 @@
attack_verb_continuous = "claws"
attack_verb_simple = "claw"
attack_sound = 'sound/weapons/bladeslice.ogg'
attack_vis_effect = ATTACK_EFFECT_CLAW
vision_range = 2 // don't aggro unless you basically antagonize it, though they will kill you worse than a goliath will
aggro_vision_range = 9
move_force = MOVE_FORCE_VERY_STRONG
@@ -23,6 +23,7 @@
attack_verb_continuous = "bites"
attack_verb_simple = "bite"
attack_sound = 'sound/weapons/bite.ogg'
attack_vis_effect = ATTACK_EFFECT_BITE
vision_range = 7
aggro_vision_range = 7
move_force = MOVE_FORCE_WEAK
@@ -23,6 +23,7 @@
attack_verb_continuous = "chomps"
attack_verb_simple = "chomp"
attack_sound = 'sound/weapons/bite.ogg'
attack_vis_effect = ATTACK_EFFECT_BITE
faction = list("mushroom")
environment_smash = ENVIRONMENT_SMASH_NONE
stat_attack = DEAD
@@ -12,6 +12,7 @@
attack_verb_continuous = "slashes"
attack_verb_simple = "slash"
attack_sound = 'sound/weapons/bladeslice.ogg'
attack_vis_effect = ATTACK_EFFECT_SLASH // I always thought they bit. Guess I was wrong.
faction = list("nether")
speak_emote = list("screams")
gold_core_spawnable = HOSTILE_SPAWN
@@ -40,6 +40,7 @@
attack_verb_continuous = "slashes"
attack_verb_simple = "slash"
attack_sound = 'sound/weapons/blade1.ogg'
attack_vis_effect = ATTACK_EFFECT_SLASH
var/obj/effect/light_emitter/red_energy_sword/sord
footstep_type = FOOTSTEP_MOB_SHOE
@@ -22,7 +22,8 @@
melee_damage_upper = 15
attack_verb_continuous = "slashes"
attack_verb_simple = "slash"
attack_sound = 'sound/weapons/punch1.ogg'
attack_sound = 'sound/weapons/bladeslice.ogg'
attack_vis_effect = ATTACK_EFFECT_CLAW
unique_name = TRUE
faction = list("rat")
///The spell that the rat uses to generate miasma
@@ -96,7 +97,7 @@
if (do_mob(src, target, 2 SECONDS, interaction_key = "regalrat"))
target.reagents.add_reagent(/datum/reagent/rat_spit,rand(1,3),no_react = TRUE)
to_chat(src, "<span class='notice'>You finish licking [target].</span>")
else
else
SEND_SIGNAL(target, COMSIG_RAT_INTERACT, src)
/**
@@ -320,7 +321,7 @@
if(HAS_TRAIT(L, TRAIT_AGEUSIA))
return
to_chat(L, "<span class='notice'>This food has a funny taste!</span>")
/datum/reagent/rat_spit/overdose_start(mob/living/M)
..()
var/mob/living/carbon/victim = M
@@ -328,7 +329,7 @@
to_chat(victim, "<span class='userdanger'>With this last sip, you feel your body convulsing horribly from the contents you've ingested. As you contemplate your actions, you sense an awakened kinship with rat-kind and their newly risen leader!</span>")
victim.faction |= "rat"
victim.vomit()
metabolization_rate = 10 * REAGENTS_METABOLISM
metabolization_rate = 10 * REAGENTS_METABOLISM
/datum/reagent/rat_spit/on_mob_life(mob/living/carbon/C)
if(prob(15))
@@ -24,6 +24,7 @@
pass_flags = PASSTABLE
faction = list("hostile")
attack_sound = 'sound/weapons/bite.ogg'
attack_vis_effect = ATTACK_EFFECT_BITE
obj_damage = 0
environment_smash = ENVIRONMENT_SMASH_NONE
mob_size = MOB_SIZE_TINY
@@ -23,6 +23,7 @@
attack_verb_continuous = "slashes"
attack_verb_simple = "slash"
attack_sound = 'sound/hallucinations/growl1.ogg'
attack_vis_effect = ATTACK_EFFECT_CLAW
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
unsuitable_atmos_damage = 5
robust_searching = 1
@@ -98,9 +99,6 @@
melee_damage_lower = 15
melee_damage_upper = 20
light_color = LIGHT_COLOR_PURPLE
attack_verb_continuous = "slashes"
attack_verb_simple = "slash"
attack_sound = 'sound/hallucinations/growl1.ogg'
deathmessage = "collapses into a pile of bones, their suit dissolving among the plasma!"
loot = list(/obj/effect/decal/remains/plasma)
@@ -117,6 +115,7 @@
attack_verb_continuous = "blasts"
attack_verb_simple = "blast"
attack_sound = 'sound/weapons/sonic_jackhammer.ogg'
attack_vis_effect = null // jackhammer moment
loot = list(/obj/effect/decal/remains/plasma, /obj/item/pickaxe/drill/jackhammer)
/mob/living/simple_animal/hostile/skeleton/plasmaminer/Initialize()
@@ -35,6 +35,7 @@
attack_verb_continuous = "chomps"
attack_verb_simple = "chomp"
attack_sound = 'sound/magic/demon_attack1.ogg'
attack_vis_effect = ATTACK_EFFECT_BITE
deathsound = 'sound/magic/demon_dies.ogg'
icon = 'icons/mob/spacedragon.dmi'
icon_state = "spacedragon"
@@ -27,6 +27,7 @@
attack_verb_continuous = "claws"
attack_verb_simple = "claw"
attack_sound = 'sound/hallucinations/growl1.ogg'
attack_vis_effect = ATTACK_EFFECT_CLAW
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
minbodytemp = 0
@@ -81,6 +81,7 @@
attack_verb_continuous = "slashes"
attack_verb_simple = "slash"
attack_sound = 'sound/weapons/bladeslice.ogg'
attack_vis_effect = ATTACK_EFFECT_SLASH
status_flags = 0
var/projectile_deflect_chance = 0
@@ -302,6 +303,7 @@
attack_verb_continuous = "cuts"
attack_verb_simple = "cut"
attack_sound = 'sound/weapons/bladeslice.ogg'
attack_vis_effect = ATTACK_EFFECT_SLASH
faction = list(ROLE_SYNDICATE)
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
minbodytemp = 0
@@ -29,6 +29,7 @@
attack_verb_continuous = "bites"
attack_verb_simple = "bite"
attack_sound = 'sound/weapons/bite.ogg'
attack_vis_effect = ATTACK_EFFECT_BITE
speak_emote = list("pines")
emote_taunt = list("growls")
taunt_chance = 20
@@ -28,6 +28,7 @@
attack_verb_continuous = "chomps"
attack_verb_simple = "chomp"
attack_sound = 'sound/weapons/punch1.ogg'
attack_vis_effect = ATTACK_EFFECT_BITE
throw_message = "is avoided by the"
aggro_vision_range = 9
mob_size = MOB_SIZE_SMALL
@@ -15,6 +15,7 @@
attack_verb_continuous = "bites"
attack_verb_simple = "bite"
attack_sound = 'sound/hallucinations/growl1.ogg'
attack_vis_effect = ATTACK_EFFECT_BITE
combat_mode = TRUE
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
minbodytemp = 0
@@ -60,6 +60,7 @@
combat_mode = TRUE //parrots now start "aggressive" since only player parrots will nuzzle.
attack_verb_continuous = "chomps"
attack_verb_simple = "chomp"
attack_vis_effect = ATTACK_EFFECT_BITE
friendly_verb_continuous = "grooms"
friendly_verb_simple = "groom"
mob_size = MOB_SIZE_SMALL
@@ -88,7 +88,10 @@
var/attack_verb_continuous = "attacks"
///Attacking verb in present simple tense.
var/attack_verb_simple = "attack"
var/attack_sound = null
/// Sound played when the critter attacks.
var/attack_sound
/// Override for the visual attack effect shown on 'do_attack_animation()'.
var/attack_vis_effect
///Attacking, but without damage, verb in present continuous tense.
var/friendly_verb_continuous = "nuzzles"
///Attacking, but without damage, verb in present simple tense.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 892 KiB

After

Width:  |  Height:  |  Size: 898 KiB