mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2025-12-21 15:42:53 +00:00
TG: 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. r2808
This commit is contained in:
46
code/modules/mob/simple_animal/shade.dm
Normal file
46
code/modules/mob/simple_animal/shade.dm
Normal file
@@ -0,0 +1,46 @@
|
||||
/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("hisses")
|
||||
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
|
||||
|
||||
/mob/living/simple_animal/shade/Life()
|
||||
..()
|
||||
if (stat == 2)
|
||||
new /obj/item/weapon/ectoplasm (src.loc)
|
||||
for(var/mob/M in viewers(src, null))
|
||||
if ((M.client && !( M.blinded )))
|
||||
M.show_message("\red [src] lets out a contented sigh as their form unwinds. ")
|
||||
del src
|
||||
|
||||
/mob/living/simple_animal/shade/attackby(var/obj/item/O as obj, var/mob/user as mob) //Marker -Agouri
|
||||
if(istype(O, /obj/item/device/soulstone))
|
||||
O.transfer_soul("SHADE", src, user)
|
||||
else
|
||||
if(O.force)
|
||||
health -= O.force
|
||||
for(var/mob/M in viewers(src, null))
|
||||
if ((M.client && !( M.blinded )))
|
||||
M.show_message("\red \b [src] has been attacked with the [O] by [user]. ")
|
||||
else
|
||||
usr << "\red This weapon is ineffective, it does no damage."
|
||||
for(var/mob/M in viewers(src, null))
|
||||
if ((M.client && !( M.blinded )))
|
||||
M.show_message("\red [user] gently taps [src] with the [O]. ")
|
||||
Reference in New Issue
Block a user