mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-18 11:30:35 +01:00
Changeling lesser form remake (#7436)
This commit is contained in:
@@ -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)
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user