Changeling lesser form remake (#7436)

This commit is contained in:
Alberyk
2019-11-20 19:06:51 -03:00
committed by Werner
parent 8b3557d757
commit 60b60b9c0a
7 changed files with 140 additions and 14 deletions
@@ -6,9 +6,9 @@
icon_state = "abomination"
icon_living = "abomination"
icon_dead = "abomination_dead"
stop_automated_movement = 1
universal_speak = 1
universal_understand = 1
stop_automated_movement = TRUE
universal_speak = TRUE
universal_understand = TRUE
mob_swap_flags = HUMAN|SIMPLE_ANIMAL|SLIME|MONKEY
mob_push_flags = ALLMOBS
@@ -139,3 +139,94 @@
var/obj/item/bone_dart/A = new /obj/item/bone_dart(usr.loc)
A.throw_at(target, 10, 20, usr)
add_logs(src, target, "launched a bone dart at")
/mob/living/simple_animal/hostile/lesser_changeling
name = "crawling horror"
desc = "An agile monster made of twisted flesh and bone."
speak_emote = list("gibbers")
icon = 'icons/mob/npc/animal.dmi'
icon_state = "lesser_ling"
icon_living = "lesser_ling"
stop_automated_movement = TRUE
universal_speak = TRUE
universal_understand = TRUE
tameable = FALSE
response_help = "pets"
response_disarm = "shoves"
response_harm = "harmlessly punches"
maxHealth = 150
health = 150
harm_intent_damage = 5
melee_damage_lower = 5
melee_damage_upper = 10
mob_size = 15
attacktext = "mangled"
attack_sound = 'sound/weapons/bloodyslice.ogg'
see_in_dark = 8
see_invisible = SEE_INVISIBLE_NOLIGHTING
pass_flags = PASSTABLE
density = FALSE
minbodytemp = 0
maxbodytemp = 350
min_oxy = 0
max_co2 = 0
max_tox = 0
speed = -2
var/mob/living/carbon/human/occupant = null
/mob/living/simple_animal/hostile/lesser_changeling/Initialize()
. = ..()
verbs += /mob/living/proc/ventcrawl
/mob/living/simple_animal/hostile/lesser_changeling/mind_initialize()
..()
mind.assigned_role = "Changeling"
/mob/living/simple_animal/hostile/lesser_changeling/death(gibbed)
..()
if(!gibbed)
if(occupant)
occupant.forceMove(get_turf(src))
occupant.status_flags &= ~GODMODE
if(mind)
mind.transfer_to(occupant)
visible_message("<span class='warning'>\The [src] explodes into a shower of gore!</span>")
gibs(src.loc)
qdel(src)
return
/mob/living/simple_animal/hostile/lesser_changeling/verb/untransform()
set name = "Return to original form"
set desc = "Return to your original form."
set category = "Changeling"
if(!health)
to_chat(usr, "<span class='notice'>We are dead, we cannot use any abilities!</span>")
return
if(last_special > world.time)
return
if(!isturf(loc))
return
last_special = world.time + 30
if(occupant)
occupant.forceMove(get_turf(src))
occupant.status_flags &= ~GODMODE
if(mind)
mind.transfer_to(occupant)
visible_message("<span class='warning'>\The [src] explodes into a shower of gore!</span>")
gibs(src.loc)
qdel(src)
+2 -1
View File
@@ -11,7 +11,8 @@ var/global/list/can_enter_vent_with = list(
/obj/item/holder,
/obj/machinery/camera,
/mob/living/simple_animal/borer,
/mob/living/simple_animal/rat
/mob/living/simple_animal/rat,
/mob/living/carbon/human
)
/mob/living/var/list/icon/pipes_shown = list()
@@ -41,14 +41,17 @@
//If its not small or the device isnt enabled, it wont blend
if(!issmall(AM) || !use_power)
return FALSE
//Get the things we need to create the "output"
var/mob/living/L = AM
if(L.mob_size > MOB_TINY)
return
var/blood_color = "#A10808"
if(L.blood_color)
blood_color = L.blood_color
if(iscarbon(AM))
var/mob/living/carbon/C = AM
blood_color = C.species.blood_color
@@ -58,7 +61,7 @@
//Blend the Mob
to_chat(AM, span("danger","\The [src] blends you to a fine dust."))
L.death()
qdel(L)
qdel(L)
//Output what´s left through the connected vents
if(N)