Species now have their innate actions GC (#19212)

This commit is contained in:
GDN
2022-10-05 22:29:31 -05:00
committed by GitHub
parent 888c78e160
commit ec9142c238
4 changed files with 11 additions and 17 deletions
@@ -118,7 +118,6 @@
prefix = "Plasma"
special_names = list("Flood", "Fire", "Bar", "Man")
var/boom_warning = FALSE
var/datum/action/innate/ignite/ignite
/datum/species/golem/plasma/handle_life(mob/living/carbon/human/H)
if(H.bodytemperature > 750)
@@ -143,11 +142,11 @@
/datum/species/golem/plasma/on_species_gain(mob/living/carbon/C, datum/species/old_species)
..()
if(ishuman(C))
ignite = new
var/datum/action/innate/ignite/ignite = new()
ignite.Grant(C)
/datum/species/golem/plasma/on_species_loss(mob/living/carbon/C)
if(ignite)
for(var/datum/action/innate/ignite/ignite in C.actions)
ignite.Remove(C)
..()
@@ -434,7 +433,6 @@
special_names = list("Crystal", "Polycrystal")
unarmed_type = /datum/unarmed_attack/golem/bluespace
var/datum/action/innate/unstable_teleport/unstable_teleport
var/teleport_cooldown = 100
var/last_teleport = 0
var/tele_range = 6
@@ -488,12 +486,12 @@
/datum/species/golem/bluespace/on_species_gain(mob/living/carbon/C, datum/species/old_species)
..()
if(ishuman(C))
unstable_teleport = new
var/datum/action/innate/unstable_teleport/unstable_teleport = new()
unstable_teleport.Grant(C)
last_teleport = world.time
/datum/species/golem/bluespace/on_species_loss(mob/living/carbon/C)
if(unstable_teleport)
for(var/datum/action/innate/unstable_teleport/unstable_teleport in C.actions)
unstable_teleport.Remove(C)
..()
@@ -77,11 +77,10 @@
"is frying their own circuits!",
"is blocking their ventilation port!")
var/datum/action/innate/change_monitor/monitor
/datum/species/machine/on_species_gain(mob/living/carbon/human/H)
..()
monitor = new()
var/datum/action/innate/change_monitor/monitor = new()
monitor.Grant(H)
for(var/datum/atom_hud/data/human/medical/medhud in GLOB.huds)
medhud.remove_from_hud(H)
@@ -92,7 +91,7 @@
/datum/species/machine/on_species_loss(mob/living/carbon/human/H)
..()
if(monitor)
for(var/datum/action/innate/change_monitor/monitor in H.actions)
monitor.Remove(H)
for(var/datum/atom_hud/data/diagnostic/diag_hud in GLOB.huds)
diag_hud.remove_from_hud(H)
@@ -40,8 +40,6 @@
optional_body_accessory = FALSE
var/datum/action/innate/cocoon/cocoon
suicide_messages = list(
"is attempting to nibble their antenna off!",
"is twisting their own abdomen!",
@@ -53,7 +51,7 @@
/datum/species/moth/on_species_gain(mob/living/carbon/human/H)
..()
cocoon = new()
var/datum/action/innate/cocoon/cocoon = new()
cocoon.Grant(H)
RegisterSignal(H, COMSIG_LIVING_FIRE_TICK, .proc/check_burn_wings)
RegisterSignal(H, COMSIG_LIVING_AHEAL, .proc/on_aheal)
@@ -62,7 +60,8 @@
/datum/species/moth/on_species_loss(mob/living/carbon/human/H)
..()
cocoon.Remove(H)
for(var/datum/action/innate/cocoon/cocoon in H.actions)
cocoon.Remove(H)
UnregisterSignal(H, COMSIG_LIVING_FIRE_TICK)
UnregisterSignal(H, COMSIG_LIVING_AHEAL)
UnregisterSignal(H, COMSIG_HUMAN_CHANGE_BODY_ACCESSORY)
@@ -56,17 +56,15 @@
"is twisting their own neck!",
"is holding their breath!")
var/datum/action/innate/tail_lash/lash
/datum/species/unathi/on_species_gain(mob/living/carbon/human/H)
..()
lash = new
var/datum/action/innate/tail_lash/lash = new()
lash.Grant(H)
/datum/species/unathi/on_species_loss(mob/living/carbon/human/H)
..()
if(lash)
for(var/datum/action/innate/tail_lash/lash in H.actions)
lash.Remove(H)
/datum/action/innate/tail_lash