From 2f2642130d8192811bd4f76e8aec14422ca44719 Mon Sep 17 00:00:00 2001 From: "kortgstation@gmail.com" Date: Sun, 25 Dec 2011 08:43:02 +0000 Subject: [PATCH] Simple mobs can now attack humans (and you are able to set the attack messages and min/max damage of the attack with vars) Simple mobs who attempt to attack and have a max damage of 0 (which is the default) will emote a friendly gesture towards the target, the default being "nuzzles" though also editable via vars. Added the Shade simple mob (and some temporary sprites) which is the first simple mob capable of attacking. It was mostly for test purposes, but will probably end up becoming a feature of soul stones later on. Note: Simple animals still cannot interact with other simple animals, critters, mechs, cyborgs, aliens, monkeys etc etc, only humans at this point. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2808 316c924e-a436-60f5-8080-3fe189b3f50e --- code/defines/mob/simple_animal/crab.dm | 1 + code/defines/mob/simple_animal/life.dm | 10 +++++++- code/defines/mob/simple_animal/shade.dm | 22 ++++++++++++++++++ code/game/atom_procs.dm | 2 -- code/modules/mob/living/carbon/human/human.dm | 13 +++++++++++ icons/mob/mob.dmi | Bin 126369 -> 126716 bytes tgstation.dme | 1 + 7 files changed, 46 insertions(+), 3 deletions(-) create mode 100644 code/defines/mob/simple_animal/shade.dm diff --git a/code/defines/mob/simple_animal/crab.dm b/code/defines/mob/simple_animal/crab.dm index c2b7e0ed9c4..1091147e812 100644 --- a/code/defines/mob/simple_animal/crab.dm +++ b/code/defines/mob/simple_animal/crab.dm @@ -15,6 +15,7 @@ response_disarm = "gently pushes aside the" response_harm = "stomps the" stop_automated_movement = 1 + friendly = "pinches" /mob/living/simple_animal/crab/Life() ..() diff --git a/code/defines/mob/simple_animal/life.dm b/code/defines/mob/simple_animal/life.dm index 8d0c102e980..86eb449cf23 100644 --- a/code/defines/mob/simple_animal/life.dm +++ b/code/defines/mob/simple_animal/life.dm @@ -38,7 +38,15 @@ var/max_co2 = 5 var/min_n2 = 0 var/max_n2 = 0 - var/unsuitable_atoms_damage = 2 //This damage is taken when atmos doesn't fit all the requirements above. + var/unsuitable_atoms_damage = 2 //This damage is taken when atmos doesn't fit all the requirements above + + + //LETTING SIMPLE ANIMALS ATTACK? WHAT COULD GO WRONG. Defaults to zero so Ian can still be cuddly + var/melee_damage_lower = 0 + var/melee_damage_upper = 0 + var/attacktext = "attacks" + var/attack_sound = null + var/friendly = "nuzzles" //If the mob does no damage with it's attack /mob/living/simple_animal/New() ..() diff --git a/code/defines/mob/simple_animal/shade.dm b/code/defines/mob/simple_animal/shade.dm new file mode 100644 index 00000000000..7dfc7ff338e --- /dev/null +++ b/code/defines/mob/simple_animal/shade.dm @@ -0,0 +1,22 @@ +/mob/living/simple_animal/shade + name = "Shade" + desc = "A bound spirit" + icon = 'mob.dmi' + icon_state = "shade" + icon_living = "shade" + icon_dead = "shade_dead" + max_health = 50 + health = 50 + speak_emote = list("wails", "screeches") + emote_hear = list("wails","screeches") + response_help = "puts their hand through" + response_disarm = "flails at" + response_harm = "punches the" + melee_damage_lower = 5 + melee_damage_upper = 15 + attacktext = "drains the life from" + minbodytemp = 0 + maxbodytemp = 4000 + min_oxy = 0 + max_co2 = 0 + max_tox = 0 \ No newline at end of file diff --git a/code/game/atom_procs.dm b/code/game/atom_procs.dm index be030136680..78ba1fc7f02 100644 --- a/code/game/atom_procs.dm +++ b/code/game/atom_procs.dm @@ -39,8 +39,6 @@ /atom/proc/attack_metroid(mob/user as mob) return - - /atom/proc/hand_h(mob/user as mob) //human (hand) - restrained return diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index df6ece16303..1d2ae102207 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -1106,6 +1106,19 @@ +/mob/living/carbon/human/attack_animal(mob/living/simple_animal/M as mob) + if(M.melee_damage_upper == 0) + M.emote("[M.friendly] [src]") + else + for(var/mob/O in viewers(src, null)) + O.show_message("\red [M] [M.attacktext] [src]!", 1) + var/damage = rand(M.melee_damage_lower, M.melee_damage_upper) + var/dam_zone = pick("chest", "l_hand", "r_hand", "l_leg", "r_leg") + var/datum/organ/external/affecting = get_organ(ran_zone(dam_zone)) + var/armor = run_armor_check(affecting, "melee") + apply_damage(damage, BRUTE, affecting, armor) + if(armor >= 2) return + /mob/living/carbon/human/attack_metroid(mob/living/carbon/metroid/M as mob) if(M.Victim) return // can't attack while eating! diff --git a/icons/mob/mob.dmi b/icons/mob/mob.dmi index 24f8f5276cf6e29d0d8795285d87265e6d0b0db9..0d019783cd402fdcb939142b40d8a47d6e0d0714 100644 GIT binary patch delta 16034 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 delta 15702 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 diff --git a/tgstation.dme b/tgstation.dme index 60c7caede2e..c0497510164 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -288,6 +288,7 @@ #include "code\defines\mob\simple_animal\corgi.dm" #include "code\defines\mob\simple_animal\crab.dm" #include "code\defines\mob\simple_animal\life.dm" +#include "code\defines\mob\simple_animal\shade.dm" #include "code\defines\obj\closet.dm" #include "code\defines\obj\clothing.dm" #include "code\defines\obj\computer.dm"