mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 20:48:56 +01:00
[MIRROR] Ashwalkers now start out in their proper faction; Lavaland mobs also have this if ashwalkers don't attack them (#28430)
* Ashwalkers now start out in their proper faction; Lavaland mobs also have this if ashwalkers don't attack them * Update ashwalker.dm --------- Co-authored-by: Joshua Kidder <49173900+Metekillot@users.noreply.github.com> Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com>
This commit is contained in:
co-authored by
Joshua Kidder
SpaceLoveSs13
parent
21575b0a3c
commit
f0b883a298
@@ -6,7 +6,7 @@
|
||||
icon = 'icons/mob/simple/lavaland/nest.dmi'
|
||||
icon_state = "tendril"
|
||||
|
||||
faction = list(FACTION_MINING)
|
||||
faction = list(FACTION_MINING, FACTION_ASHWALKER)
|
||||
max_mobs = 3
|
||||
max_integrity = 250
|
||||
mob_types = list(/mob/living/basic/mining/watcher)
|
||||
|
||||
@@ -28,10 +28,14 @@
|
||||
. = ..()
|
||||
RegisterSignal(owner.current, COMSIG_MOB_EXAMINATE, PROC_REF(on_examinate))
|
||||
//owner.teach_crafting_recipe(/datum/crafting_recipe/skeleton_key) //SKYRAT EDIT REMOVAL - ASH RITUALS
|
||||
if(FACTION_NEUTRAL in owner.current.faction)
|
||||
owner.current.faction.Remove(FACTION_NEUTRAL) // ashwalkers aren't neutral; they're ashwalker-aligned
|
||||
|
||||
/datum/antagonist/ashwalker/on_removal()
|
||||
. = ..()
|
||||
UnregisterSignal(owner.current, COMSIG_MOB_EXAMINATE)
|
||||
if(!(FACTION_NEUTRAL in owner.current.faction))
|
||||
owner.current.faction.Add(FACTION_NEUTRAL)
|
||||
|
||||
/datum/antagonist/ashwalker/proc/on_examinate(datum/source, atom/A)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
status_flags = NONE //don't inherit standard basicmob flags
|
||||
mob_size = MOB_SIZE_LARGE
|
||||
mob_biotypes = MOB_ORGANIC|MOB_BEAST
|
||||
faction = list(FACTION_MINING)
|
||||
faction = list(FACTION_MINING, FACTION_ASHWALKER)
|
||||
unsuitable_atmos_damage = 0
|
||||
minimum_survivable_temperature = 0
|
||||
maximum_survivable_temperature = INFINITY
|
||||
@@ -42,3 +42,11 @@
|
||||
drop_mod = crusher_drop_chance,\
|
||||
drop_immediately = basic_mob_flags & DEL_ON_DEATH,\
|
||||
)
|
||||
RegisterSignal(src, COMSIG_ATOM_WAS_ATTACKED, PROC_REF(check_ashwalker_peace_violation))
|
||||
|
||||
/mob/living/basic/mining/proc/check_ashwalker_peace_violation(datum/source, mob/living/carbon/human/possible_ashwalker)
|
||||
SIGNAL_HANDLER
|
||||
|
||||
if(!isashwalker(possible_ashwalker) || !(FACTION_ASHWALKER in faction))
|
||||
return
|
||||
faction.Remove(FACTION_ASHWALKER)
|
||||
|
||||
@@ -161,6 +161,7 @@ Lizard subspecies: ASHWALKERS
|
||||
TRAIT_MUTANT_COLORS,
|
||||
TRAIT_VIRUSIMMUNE,
|
||||
)
|
||||
inherent_factions = list(FACTION_ASHWALKER)
|
||||
species_language_holder = /datum/language_holder/lizard/ash
|
||||
digitigrade_customization = DIGITIGRADE_FORCED
|
||||
examine_limb_id = SPECIES_LIZARD
|
||||
|
||||
Reference in New Issue
Block a user