[MIRROR] Converts ghosts mobs to a basic mob, slightly changes how ghosts are given their identities [MDB IGNORE] (#18550)

* Converts ghosts mobs to a basic mob, slightly changes how ghosts are given their identities (#72196)

## About The Pull Request

Performs a very simple conversion of ghosts to basic mobs. They're
relatively lacking in unique behavior in their current state, but they
didn't really have any when they were simple animals either. They
retaliate, they float, they do everything they did before, but now as a
basic mob.

Kilostation and Derelict Station 6 have had their mapped-in ghosts
converted to the new type as well. I'm unsure if there are any other
mapped instances of ghosts that will need changing, but please let me
know if there are.

Also in this PR is a slight rework of how ghost's get their hair/name.
As an ADDED BONUS, ghosts now get random hair to gow ith their randomly
generated names, rather than hair only being only possible through
varediting. (Thank you tattle for helping me figure this out).
## Why It's Good For The Game

Strikes another simple_animal from existence. Gives ghost mobs a bit
more _visual flair_.
## Changelog
🆑
code: Ghosts are now basic mobs! You might not notice any difference,
but...
code: Ghost mobs now spawn with hair and sometimes facial hair.
/🆑

Co-authored-by: Jeremiah <42397676+jlsnow301@ users.noreply.github.com>

* Converts ghosts mobs to a basic mob, slightly changes how ghosts are given their identities

Co-authored-by: Rhials <Datguy33456@gmail.com>
Co-authored-by: Jeremiah <42397676+jlsnow301@ users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
This commit is contained in:
SkyratBot
2023-01-09 09:10:43 -05:00
committed by GitHub
co-authored by Jeremiah Rhials tastyfish
parent b5dd2fa946
commit 7c2e0227e2
8 changed files with 220 additions and 175 deletions
+3 -3
View File
@@ -86,7 +86,7 @@
/turf/open/floor/iron/airless,
/area/ruin/space/has_grav)
"ax" = (
/mob/living/simple_animal/hostile/retaliate/ghost,
/mob/living/basic/ghost,
/turf/open/floor/iron/airless,
/area/ruin/space/has_grav)
"az" = (
@@ -251,7 +251,7 @@
/turf/template_noop,
/area/template_noop)
"ba" = (
/mob/living/simple_animal/hostile/retaliate/ghost,
/mob/living/basic/ghost,
/turf/open/floor/iron/cafeteria/airless,
/area/ruin/space/has_grav)
"bb" = (
@@ -678,8 +678,8 @@ ag
ai
aK
aR
aR
ba
aR
bj
bg
ah
+103 -103
View File
@@ -4048,14 +4048,6 @@
/obj/structure/flora/rock/style_random,
/turf/open/misc/asteroid,
/area/space/nearstation)
"bjX" = (
/mob/living/basic/carp{
environment_smash = 0;
name = "Tuna";
real_name = "Tuna"
},
/turf/open/misc/asteroid/airless,
/area/space/nearstation)
"bkn" = (
/obj/effect/turf_decal/tile/yellow,
/obj/effect/turf_decal/tile/yellow{
@@ -5430,6 +5422,10 @@
},
/turf/open/floor/plating/airless,
/area/space/nearstation)
"bFQ" = (
/obj/docking_port/stationary/escape_pod,
/turf/open/space/basic,
/area/space)
"bGx" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible,
/obj/effect/decal/cleanable/dirt,
@@ -6455,12 +6451,6 @@
},
/turf/open/floor/iron/dark/corner,
/area/station/hallway/primary/port)
"bZB" = (
/obj/docking_port/stationary/escape_pod{
dir = 8
},
/turf/open/space/basic,
/area/space)
"bZE" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -6612,6 +6602,12 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
"ccg" = (
/obj/docking_port/stationary/escape_pod{
dir = 4
},
/turf/open/space/basic,
/area/space)
"ccr" = (
/obj/effect/decal/cleanable/blood/old,
/obj/effect/turf_decal/stripes/line{
@@ -8262,6 +8258,14 @@
/obj/effect/decal/cleanable/dirt,
/turf/closed/wall,
/area/station/maintenance/port/fore)
"cvZ" = (
/mob/living/basic/carp{
environment_smash = 0;
name = "Tuna";
real_name = "Tuna"
},
/turf/open/misc/asteroid/airless,
/area/space/nearstation)
"cwj" = (
/obj/machinery/modular_computer/console/preset/id,
/obj/effect/turf_decal/bot,
@@ -9160,6 +9164,12 @@
/obj/effect/turf_decal/sand/plating,
/turf/open/floor/plating/lowpressure,
/area/space/nearstation)
"cOd" = (
/obj/docking_port/stationary/escape_pod{
dir = 8
},
/turf/open/space/basic,
/area/space)
"cOf" = (
/obj/structure/cable,
/turf/open/floor/plating,
@@ -16178,6 +16188,10 @@
"ePm" = (
/turf/open/floor/iron,
/area/station/maintenance/disposal/incinerator)
"ePI" = (
/obj/effect/turf_decal/stripes/line,
/turf/open/space/basic,
/area/space/nearstation)
"ePU" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -19414,12 +19428,6 @@
/obj/machinery/status_display/ai/directional/west,
/turf/open/floor/iron/dark,
/area/station/commons/storage/art)
"fFY" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
},
/turf/open/space/basic,
/area/space/nearstation)
"fGu" = (
/turf/closed/wall,
/area/station/security/checkpoint/engineering)
@@ -22829,6 +22837,12 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/starboard)
"gCs" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
},
/turf/open/space/basic,
/area/space/nearstation)
"gCu" = (
/obj/structure/chair{
dir = 8
@@ -23033,15 +23047,6 @@
/obj/structure/sign/poster/contraband/random/directional/east,
/turf/open/floor/plating,
/area/station/cargo/warehouse)
"gFu" = (
/obj/machinery/computer/security/telescreen/entertainment/directional/south,
/obj/structure/reagent_dispensers/wall/peppertank/directional/east,
/obj/structure/bed/dogbed/cayenne{
name = "Lia's bed"
},
/mob/living/basic/carp/pet/lia,
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/hos)
"gFA" = (
/obj/effect/turf_decal/tile/neutral,
/obj/effect/turf_decal/tile/neutral{
@@ -23494,6 +23499,12 @@
},
/turf/open/floor/iron/dark,
/area/station/engineering/supermatter/room)
"gKV" = (
/obj/docking_port/stationary/escape_pod{
dir = 2
},
/turf/open/space/basic,
/area/space)
"gLm" = (
/obj/machinery/status_display/ai/directional/south,
/obj/effect/decal/cleanable/dirt,
@@ -27006,11 +27017,6 @@
},
/turf/open/floor/iron/showroomfloor,
/area/station/science/genetics)
"hIs" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/mob/living/simple_animal/hostile/retaliate/ghost,
/turf/open/floor/wood,
/area/station/maintenance/starboard/fore)
"hIS" = (
/obj/structure/rack,
/obj/effect/spawner/random/techstorage/rnd_all,
@@ -28217,12 +28223,6 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/station/maintenance/solars/starboard/aft)
"hYT" = (
/obj/docking_port/stationary/escape_pod{
dir = 4
},
/turf/open/space/basic,
/area/space)
"hYY" = (
/obj/effect/turf_decal/stripes/corner,
/obj/effect/decal/cleanable/dirt,
@@ -31681,6 +31681,10 @@
/obj/structure/cable,
/turf/open/floor/iron/dark,
/area/station/hallway/secondary/exit/departure_lounge)
"iSY" = (
/obj/structure/lattice,
/turf/open/space/basic,
/area/space)
"iTj" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/poddoor/shutters{
@@ -34720,10 +34724,6 @@
/obj/effect/spawner/random/engineering/tracking_beacon,
/turf/open/floor/iron,
/area/station/hallway/primary/aft)
"jMQ" = (
/obj/structure/lattice/catwalk,
/turf/open/space/basic,
/area/space)
"jMU" = (
/obj/effect/turf_decal/tile/yellow,
/obj/effect/turf_decal/tile/yellow{
@@ -40586,10 +40586,6 @@
},
/turf/open/floor/wood,
/area/station/service/lawoffice)
"lwY" = (
/obj/effect/turf_decal/stripes/line,
/turf/open/space/basic,
/area/space/nearstation)
"lxf" = (
/obj/effect/turf_decal/stripes/line{
dir = 5
@@ -47025,12 +47021,6 @@
/obj/structure/disposalpipe/segment,
/turf/open/floor/iron/dark,
/area/station/service/chapel)
"nta" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
},
/turf/open/space/basic,
/area/space/nearstation)
"ntb" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -54278,6 +54268,12 @@
/obj/effect/mapping_helpers/burnt_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/greater)
"pzk" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
},
/turf/open/space/basic,
/area/space/nearstation)
"pzm" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
@@ -54866,10 +54862,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/cargo/drone_bay)
"pHK" = (
/obj/structure/lattice,
/turf/open/space/basic,
/area/space)
"pIa" = (
/obj/effect/turf_decal/tile/neutral{
dir = 4
@@ -55594,10 +55586,6 @@
/obj/effect/landmark/start/geneticist,
/turf/open/floor/iron/showroomfloor,
/area/station/science/genetics)
"pSf" = (
/obj/docking_port/stationary/escape_pod,
/turf/open/space/basic,
/area/space)
"pSh" = (
/obj/effect/turf_decal/stripes/line{
dir = 6
@@ -61188,6 +61176,11 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/fore)
"rwY" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/mob/living/basic/ghost,
/turf/open/floor/wood,
/area/station/maintenance/starboard/fore)
"rxi" = (
/obj/effect/turf_decal/stripes/line,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -64610,6 +64603,10 @@
/obj/structure/cable,
/turf/open/floor/iron/showroomfloor,
/area/station/medical/surgery/aft)
"svA" = (
/obj/structure/lattice/catwalk,
/turf/open/space/basic,
/area/space)
"svC" = (
/obj/effect/turf_decal/stripes/corner{
dir = 8
@@ -68364,6 +68361,15 @@
},
/turf/open/space/basic,
/area/space/nearstation)
"tvS" = (
/obj/effect/turf_decal/tile/neutral,
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
/obj/effect/decal/cleanable/dirt,
/mob/living/basic/ghost,
/turf/open/floor/iron/dark,
/area/station/maintenance/starboard/fore)
"twc" = (
/obj/effect/turf_decal/plaque{
icon_state = "L13"
@@ -69031,14 +69037,6 @@
},
/turf/open/floor/iron,
/area/station/hallway/primary/central/fore)
"tEU" = (
/obj/docking_port/stationary/random{
dir = 4;
name = "lavaland";
shuttle_id = "pod_4_lavaland"
},
/turf/open/space,
/area/space/nearstation)
"tEX" = (
/obj/machinery/door/firedoor,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -69378,12 +69376,6 @@
/obj/effect/mapping_helpers/broken_floor,
/turf/open/floor/plating,
/area/station/maintenance/port/lesser)
"tKZ" = (
/obj/docking_port/stationary/escape_pod{
dir = 2
},
/turf/open/space/basic,
/area/space)
"tLh" = (
/obj/effect/turf_decal/tile/neutral{
dir = 8
@@ -79334,6 +79326,14 @@
luminosity = 2
},
/area/station/engineering/supermatter)
"wxy" = (
/obj/docking_port/stationary/random{
dir = 4;
name = "lavaland";
shuttle_id = "pod_4_lavaland"
},
/turf/open/space,
/area/space/nearstation)
"wxF" = (
/obj/structure/table/wood,
/obj/effect/spawner/random/maintenance,
@@ -80296,6 +80296,15 @@
"wJo" = (
/turf/open/floor/plating,
/area/station/maintenance/department/security)
"wJs" = (
/obj/machinery/computer/security/telescreen/entertainment/directional/south,
/obj/structure/reagent_dispensers/wall/peppertank/directional/east,
/obj/structure/bed/dogbed/cayenne{
name = "Lia's bed"
},
/mob/living/basic/carp/pet/lia,
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/hos)
"wJw" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
@@ -85189,15 +85198,6 @@
/obj/machinery/recharger,
/turf/open/floor/iron/dark,
/area/station/command/heads_quarters/captain)
"yeH" = (
/obj/effect/turf_decal/tile/neutral,
/obj/effect/turf_decal/tile/neutral{
dir = 1
},
/obj/effect/decal/cleanable/dirt,
/mob/living/simple_animal/hostile/retaliate/ghost,
/turf/open/floor/iron/dark,
/area/station/maintenance/starboard/fore)
"yeK" = (
/obj/effect/turf_decal/bot,
/obj/effect/turf_decal/tile/neutral{
@@ -96670,9 +96670,9 @@ wDI
aeu
aeu
aDT
nta
gCs
lHD
nta
gCs
sRm
aeu
ycx
@@ -97699,7 +97699,7 @@ ycx
vjh
vjh
aaa
bZB
cOd
aaa
ycx
vjh
@@ -99982,7 +99982,7 @@ aeu
aeU
aeU
coy
bjX
cvZ
aDS
tpp
bFI
@@ -102631,7 +102631,7 @@ aaa
aaa
aaa
cry
lwY
ePI
acK
aaa
aaa
@@ -102884,7 +102884,7 @@ gDy
hOU
aHz
kZK
tKZ
gKV
aaa
aaa
cry
@@ -103145,7 +103145,7 @@ aaa
aaa
aaa
cry
lwY
ePI
acK
aaa
aaa
@@ -105967,7 +105967,7 @@ lZr
jPG
sYu
mIR
gFu
wJs
afL
aeu
aeU
@@ -118230,7 +118230,7 @@ cIX
cIX
fvU
plG
yeH
tvS
yaY
iBv
wxI
@@ -118489,7 +118489,7 @@ fvU
nUi
iVF
elc
hIs
rwY
jre
rsZ
qaI
@@ -126178,7 +126178,7 @@ aaa
aaa
aaa
acK
fFY
pzk
cry
aaa
aaa
@@ -126439,7 +126439,7 @@ iak
cry
aaa
aaa
pSf
bFQ
fRt
oBf
nxa
@@ -126692,7 +126692,7 @@ aaB
aaa
aaa
acK
fFY
pzk
cry
aaa
aaa
@@ -130066,7 +130066,7 @@ rZV
vOX
vOX
aaa
hYT
ccg
aaa
rZV
mtc
@@ -131094,7 +131094,7 @@ aeU
aof
qJs
cry
tEU
wxy
cry
qJs
aeu
@@ -131350,9 +131350,9 @@ cmU
aeU
aeU
aaQ
jMQ
pHK
jMQ
svA
iSY
svA
acm
aeu
aeu
+1 -1
View File
@@ -72,7 +72,7 @@ GLOBAL_LIST_INIT(phobia_mobs, list(
/mob/living/simple_animal/hostile/heretic_summon,
/mob/living/simple_animal/hostile/imp,
/mob/living/simple_animal/hostile/retaliate/bat,
/mob/living/simple_animal/hostile/retaliate/ghost,
/mob/living/basic/ghost,
/mob/living/simple_animal/hostile/skeleton,
/mob/living/simple_animal/hostile/wizard,
/mob/living/simple_animal/hostile/zombie,
@@ -0,0 +1,109 @@
/mob/living/basic/ghost
name = "ghost"
desc = "A soul of the dead, spooky."
icon = 'icons/mob/simple/mob.dmi'
icon_state = "ghost"
icon_living = "ghost"
mob_biotypes = MOB_SPIRIT
speak_emote = list("wails", "weeps")
response_help_continuous = "passes through"
response_help_simple = "pass through"
combat_mode = TRUE
basic_mob_flags = DEL_ON_DEATH
maxHealth = 40
health = 40
melee_damage_lower = 15
melee_damage_upper = 15
attack_verb_continuous = "grips"
attack_verb_simple = "grip"
unsuitable_atmos_damage = 0
attack_sound = 'sound/hallucinations/growl1.ogg'
death_message = "wails, disintegrating into a pile of ectoplasm!"
gold_core_spawnable = NO_SPAWN //too spooky for science
light_system = MOVABLE_LIGHT
light_range = 1 // same glowing as visible player ghosts
light_power = 2
ai_controller = /datum/ai_controller/basic_controller/ghost
///What hairstyle will this ghost have
var/ghost_hairstyle
///What color will this ghost's hair be
var/ghost_hair_color
///The resulting hair to be displayed on the ghost
var/mutable_appearance/ghost_hair
///What facial hairstyle will this ghost have
var/ghost_facial_hairstyle
///What color will this ghost's facial hair be
var/ghost_facial_hair_color
///The resulting facial hair to be displayed on the ghost
var/mutable_appearance/ghost_facial_hair
///Will this ghost spawn with a randomly generated name and hair?
var/random_identity = TRUE
/mob/living/basic/ghost/Initialize(mapload)
. = ..()
var/static/list/death_loot = list(/obj/item/ectoplasm)
AddElement(/datum/element/death_drops, death_loot)
AddElement(/datum/element/simple_flying)
AddElement(/datum/element/ai_retaliate)
give_identity()
/**
* Generates hair, facial hair, and a random name for ghosts if one is needed.
*
* Handles generating the mutable_appearance objects for a ghost's hair/facial hair,
* as well as assigning a random name if needed. If random_identity is false, it will only create and display
* the hair as defined by ghost_hairstyle/ghost_facial_hairstyle variables, without changing the name.
* If random_identity is true, hair/facial/name will all be randomly generated and displayed.
* When creating a ghost with a custom identity (for away missions, ruins, etc.) be sure random_identity is false.
*/
/mob/living/basic/ghost/proc/give_identity()
if(random_identity)
ghost_hairstyle = random_hairstyle() //This only gives us the hairstyle name, not the icon_state (which we need).
ghost_hair_color = "#[random_color()]"
if(prob(50)) //Only a chance at also getting facial hair
ghost_facial_hairstyle = random_facial_hairstyle()
ghost_facial_hair_color = ghost_hair_color
if(!isnull(ghost_hairstyle))
var/datum/sprite_accessory/hair_style = GLOB.hairstyles_list[ghost_hairstyle] //We use the hairstyle name to get the sprite accessory, which we copy the icon_state from.
ghost_hair = mutable_appearance('icons/mob/species/human/human_face.dmi', "[hair_style.icon_state]", -HAIR_LAYER)
ghost_hair.alpha = 200
ghost_hair.color = ghost_hair_color
add_overlay(ghost_hair)
if(!isnull(ghost_facial_hairstyle))
var/datum/sprite_accessory/facial_hair_style = GLOB.facial_hairstyles_list[ghost_facial_hairstyle]
ghost_facial_hair = mutable_appearance('icons/mob/species/human/human_face.dmi', "[facial_hair_style.icon_state]", -HAIR_LAYER)
ghost_facial_hair.alpha = 200
ghost_facial_hair.color = ghost_facial_hair_color
add_overlay(ghost_facial_hair)
if(random_identity)
switch(rand(0,1))
if(0)
name = "ghost of [pick(GLOB.first_names_male)] [pick(GLOB.last_names)]"
if(1)
name = "ghost of [pick(GLOB.first_names_female)] [pick(GLOB.last_names)]"
/datum/ai_controller/basic_controller/ghost
blackboard = list(
BB_TARGETTING_DATUM = new /datum/targetting_datum/basic/ignore_faction(),
)
ai_movement = /datum/ai_movement/basic_avoidance
idle_behavior = /datum/idle_behavior/idle_random_walk
planning_subtrees = list(
/datum/ai_planning_subtree/target_retaliate,
/datum/ai_planning_subtree/basic_melee_attack_subtree/ghost,
)
/datum/ai_planning_subtree/basic_melee_attack_subtree/ghost
melee_attack_behavior = /datum/ai_behavior/basic_melee_attack/ghost
/datum/ai_behavior/basic_melee_attack/ghost
action_cooldown = 2 SECONDS
@@ -1,66 +0,0 @@
/mob/living/simple_animal/hostile/retaliate/ghost
name = "ghost"
desc = "A soul of the dead, spooky."
icon = 'icons/mob/simple/mob.dmi'
icon_state = "ghost"
icon_living = "ghost"
mob_biotypes = MOB_SPIRIT
speak_chance = 0
turns_per_move = 5
response_help_continuous = "passes through"
response_help_simple = "pass through"
combat_mode = TRUE
healable = 0
speed = 0
maxHealth = 40
health = 40
harm_intent_damage = 10
melee_damage_lower = 15
melee_damage_upper = 15
del_on_death = 1
emote_see = list("weeps silently", "groans", "mumbles")
attack_verb_continuous = "grips"
attack_verb_simple = "grip"
attack_sound = 'sound/hallucinations/growl1.ogg'
speak_emote = list("weeps")
death_message = "wails, disintegrating into a pile of ectoplasm!"
loot = list(/obj/item/ectoplasm)
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_plas" = 0, "max_plas" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
minbodytemp = 0
maxbodytemp = 1500
pressure_resistance = 300
gold_core_spawnable = NO_SPAWN //too spooky for science
light_system = MOVABLE_LIGHT
light_range = 1 // same glowing as visible player ghosts
light_power = 2
var/ghost_hairstyle
var/ghost_hair_color
var/mutable_appearance/ghost_hair
var/ghost_facial_hairstyle
var/ghost_facial_hair_color
var/mutable_appearance/ghost_facial_hair
var/random = TRUE //if you want random names for ghosts or not
/mob/living/simple_animal/hostile/retaliate/ghost/Initialize(mapload)
. = ..()
AddElement(/datum/element/simple_flying)
give_hair()
if(random)
switch(rand(0,1))
if(0)
name = "ghost of [pick(GLOB.first_names_male)] [pick(GLOB.last_names)]"
if(1)
name = "ghost of [pick(GLOB.first_names_female)] [pick(GLOB.last_names)]"
/mob/living/simple_animal/hostile/retaliate/ghost/proc/give_hair()
if(ghost_hairstyle != null)
ghost_hair = mutable_appearance('icons/mob/species/human/human_face.dmi', "hair_[ghost_hairstyle]", -HAIR_LAYER)
ghost_hair.alpha = 200
ghost_hair.color = ghost_hair_color
add_overlay(ghost_hair)
if(ghost_facial_hairstyle != null)
ghost_facial_hair = mutable_appearance('icons/mob/species/human/human_face.dmi', "facial_[ghost_facial_hairstyle]", -HAIR_LAYER)
ghost_facial_hair.alpha = 200
ghost_facial_hair.color = ghost_facial_hair_color
add_overlay(ghost_facial_hair)
@@ -275,7 +275,6 @@
/mob/living/simple_animal/hostile/retaliate/clown/mutant,
/mob/living/simple_animal/hostile/retaliate/clown/mutant/glutton,
/mob/living/simple_animal/hostile/retaliate/clown/mutant/slow,
/mob/living/simple_animal/hostile/retaliate/ghost,
/mob/living/simple_animal/hostile/retaliate/goat,
/mob/living/simple_animal/hostile/retaliate/goose,
/mob/living/simple_animal/hostile/retaliate/goose/vomit,
+1 -1
View File
@@ -3733,6 +3733,7 @@
#include "code\modules\mob\living\basic\lavaland\bileworm\bileworm_vileworm.dm"
#include "code\modules\mob\living\basic\pets\dog.dm"
#include "code\modules\mob\living\basic\pets\pet.dm"
#include "code\modules\mob\living\basic\retaliate\ghost.dm"
#include "code\modules\mob\living\basic\ruin_defender\stickman.dm"
#include "code\modules\mob\living\basic\space_fauna\carp\carp.dm"
#include "code\modules\mob\living\basic\space_fauna\carp\carp_abilities.dm"
@@ -4021,7 +4022,6 @@
#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\elites\pandora.dm"
#include "code\modules\mob\living\simple_animal\hostile\retaliate\bat.dm"
#include "code\modules\mob\living\simple_animal\hostile\retaliate\clown.dm"
#include "code\modules\mob\living\simple_animal\hostile\retaliate\ghost.dm"
#include "code\modules\mob\living\simple_animal\hostile\retaliate\retaliate.dm"
#include "code\modules\mob\living\simple_animal\hostile\retaliate\spaceman.dm"
#include "code\modules\mob\living\simple_animal\slime\death.dm"
@@ -0,0 +1,3 @@
# modifies simple_animal ghosts into the new basic mob ghost type
/mob/living/simple_animal/hostile/retaliate/ghost : /mob/living/basic/ghost{@OLD}