good
This commit is contained in:
@@ -48,13 +48,11 @@
|
||||
|
||||
else //Maybe uses plasma in the future, although that wouldn't make any sense...
|
||||
leaping = 1
|
||||
weather_immunities += "lava"
|
||||
update_icons()
|
||||
throw_at(A, MAX_ALIEN_LEAP_DIST, 1, src, FALSE, TRUE, callback = CALLBACK(src, .proc/leap_end))
|
||||
|
||||
/mob/living/carbon/alien/humanoid/hunter/proc/leap_end()
|
||||
leaping = 0
|
||||
weather_immunities -= "lava"
|
||||
update_icons()
|
||||
|
||||
/mob/living/carbon/alien/humanoid/hunter/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum)
|
||||
|
||||
@@ -214,11 +214,11 @@
|
||||
|
||||
/datum/species/golem/titanium/on_species_gain(mob/living/carbon/C, datum/species/old_species)
|
||||
. = ..()
|
||||
C.weather_immunities |= "ash"
|
||||
ADD_TRAIT(C, TRAIT_ASHSTORM_IMMUNE, SPECIES_TRAIT)
|
||||
|
||||
/datum/species/golem/titanium/on_species_loss(mob/living/carbon/C)
|
||||
. = ..()
|
||||
C.weather_immunities -= "ash"
|
||||
REMOVE_TRAIT(C, TRAIT_ASHSTORM_IMMUNE, SPECIES_TRAIT)
|
||||
|
||||
//Immune to ash storms and lava
|
||||
/datum/species/golem/plastitanium
|
||||
@@ -233,13 +233,13 @@
|
||||
|
||||
/datum/species/golem/plastitanium/on_species_gain(mob/living/carbon/C, datum/species/old_species)
|
||||
. = ..()
|
||||
C.weather_immunities |= "lava"
|
||||
C.weather_immunities |= "ash"
|
||||
ADD_TRAIT(C, TRAIT_LAVA_IMMUNE, SPECIES_TRAIT)
|
||||
ADD_TRAIT(C, TRAIT_ASHSTORM_IMMUNE, SPECIES_TRAIT)
|
||||
|
||||
/datum/species/golem/plastitanium/on_species_loss(mob/living/carbon/C)
|
||||
. = ..()
|
||||
C.weather_immunities -= "ash"
|
||||
C.weather_immunities -= "lava"
|
||||
REMOVE_TRAIT(C, TRAIT_LAVA_IMMUNE, SPECIES_TRAIT)
|
||||
REMOVE_TRAIT(C, TRAIT_ASHSTORM_IMMUNE, SPECIES_TRAIT)
|
||||
|
||||
//Fast and regenerates... but can only speak like an abductor
|
||||
/datum/species/golem/alloy
|
||||
|
||||
@@ -107,8 +107,6 @@
|
||||
|
||||
var/hellbound = 0 //People who've signed infernal contracts are unrevivable.
|
||||
|
||||
var/list/weather_immunities = list()
|
||||
|
||||
var/stun_absorption = null //converted to a list of stun absorption sources this mob has when one is added
|
||||
|
||||
var/blood_volume = 0 //how much blood the mob has
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
pass_flags = PASSTABLE | PASSMOB
|
||||
mob_size = MOB_SIZE_TINY
|
||||
desc = "A generic pAI mobile hard-light holographics emitter. It seems to be deactivated."
|
||||
weather_immunities = list("ash")
|
||||
health = 500
|
||||
maxHealth = 500
|
||||
layer = BELOW_MOB_LAYER
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
initial_language_holder = /datum/language_holder/synthetic
|
||||
see_in_dark = 8
|
||||
bubble_icon = "machine"
|
||||
weather_immunities = list("ash")
|
||||
possible_a_intents = list(INTENT_HELP, INTENT_HARM)
|
||||
mob_biotypes = MOB_ROBOTIC
|
||||
rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE
|
||||
@@ -61,6 +60,7 @@
|
||||
diag_hud.add_to_hud(src)
|
||||
diag_hud_set_status()
|
||||
diag_hud_set_health()
|
||||
ADD_TRAIT(src, TRAIT_ASHSTORM_IMMUNE, ROUNDSTART_TRAIT)
|
||||
|
||||
/mob/living/silicon/ComponentInitialize()
|
||||
. = ..()
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
icon_living = "snowbear"
|
||||
icon_dead = "snowbear_dead"
|
||||
desc = "It's a polar bear, in space, but not actually in space."
|
||||
weather_immunities = list("snow")
|
||||
weather_immunities = list(TRAIT_SNOWSTORM_IMMUNE)
|
||||
|
||||
/mob/living/simple_animal/hostile/bear/russian
|
||||
name = "combat bear"
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
gold_core_spawnable = HOSTILE_SPAWN
|
||||
faction = list(ROLE_WIZARD)
|
||||
footstep_type = FOOTSTEP_MOB_SHOE
|
||||
weather_immunities = list("lava","ash")
|
||||
weather_immunities = list(TRAIT_LAVA_IMMUNE, TRAIT_ASHSTORM_IMMUNE)
|
||||
minbodytemp = 0
|
||||
maxbodytemp = INFINITY
|
||||
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
|
||||
|
||||
@@ -16,7 +16,7 @@ Difficulty: Extremely Hard
|
||||
mob_biotypes = MOB_ORGANIC|MOB_HUMANOID
|
||||
light_color = "#E4C7C5"
|
||||
movement_type = GROUND
|
||||
weather_immunities = list("snow")
|
||||
weather_immunities = list(TRAIT_SNOWSTORM_IMMUNE)
|
||||
speak_emote = list("roars")
|
||||
armour_penetration = 100
|
||||
melee_damage_lower = 10
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
obj_damage = 400
|
||||
light_range = 3
|
||||
faction = list("mining", "boss")
|
||||
weather_immunities = list("lava","ash")
|
||||
weather_immunities = list(TRAIT_LAVA_IMMUNE,TRAIT_ASHSTORM_IMMUNE)
|
||||
movement_type = FLYING
|
||||
robust_searching = 1
|
||||
ranged_ignores_vision = TRUE
|
||||
|
||||
@@ -52,7 +52,7 @@ GLOBAL_LIST_INIT(AISwarmerCapsByType, list(/mob/living/simple_animal/hostile/swa
|
||||
crusher_achievement_type = /datum/award/achievement/boss/swarmer_beacon_crusher
|
||||
score_achievement_type = /datum/award/score/swarmer_beacon_score
|
||||
faction = list("mining", "boss", "swarmer")
|
||||
weather_immunities = list("lava","ash")
|
||||
weather_immunities = list(TRAIT_LAVA_IMMUNE, TRAIT_ASHSTORM_IMMUNE)
|
||||
stop_automated_movement = TRUE
|
||||
wander = FALSE
|
||||
layer = BELOW_MOB_LAYER
|
||||
@@ -101,7 +101,7 @@ GLOBAL_LIST_INIT(AISwarmerCapsByType, list(/mob/living/simple_animal/hostile/swa
|
||||
/mob/living/simple_animal/hostile/swarmer/ai
|
||||
wander = 1
|
||||
faction = list("swarmer", "mining")
|
||||
weather_immunities = list("ash") //wouldn't be fun otherwise
|
||||
weather_immunities = list(TRAIT_LAVA_IMMUNE, TRAIT_ASHSTORM_IMMUNE) //wouldn't be fun otherwise
|
||||
AIStatus = AI_ON
|
||||
|
||||
/mob/living/simple_animal/hostile/swarmer/ai/Initialize(mapload)
|
||||
|
||||
@@ -14,7 +14,7 @@ Difficulty: Hard
|
||||
attack_verb_continuous = "claws"
|
||||
attack_verb_simple = "claw"
|
||||
attack_sound = 'sound/magic/demon_attack1.ogg'
|
||||
weather_immunities = list("snow")
|
||||
weather_immunities = list(TRAIT_SNOWSTORM_IMMUNE)
|
||||
speak_emote = list("roars")
|
||||
armour_penetration = 40
|
||||
melee_damage_lower = 40
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
speak_emote = list("warbles", "quavers")
|
||||
emote_hear = list("trills.")
|
||||
emote_see = list("sniffs.", "burps.")
|
||||
weather_immunities = list("lava","ash")
|
||||
weather_immunities = list(TRAIT_LAVA_IMMUNE, TRAIT_ASHSTORM_IMMUNE)
|
||||
faction = list("mining", "ashwalker")
|
||||
density = FALSE
|
||||
speak_chance = 1
|
||||
|
||||
@@ -272,7 +272,7 @@
|
||||
aggro_vision_range = 9
|
||||
speed = 3
|
||||
faction = list("mining")
|
||||
weather_immunities = list("lava","ash")
|
||||
weather_immunities = list(TRAIT_LAVA_IMMUNE, TRAIT_ASHSTORM_IMMUNE)
|
||||
obj_damage = 30
|
||||
environment_smash = ENVIRONMENT_SMASH_STRUCTURES
|
||||
see_in_dark = 8
|
||||
@@ -321,7 +321,7 @@
|
||||
gloves = /obj/item/clothing/gloves/color/black
|
||||
mask = /obj/item/clothing/mask/gas/explorer
|
||||
if(prob(20))
|
||||
suit = pickweight(list(/obj/item/clothing/suit/hooded/explorer/standard = 6, /obj/item/clothing/suit/hooded/cloak/goliath = 2, /obj/item/clothing/suit/hooded/explorer/exo = 6, /obj/item/clothing/suit/hooded/explorer/seva = 6))
|
||||
suit = pickweight(list(/obj/item/clothing/suit/hooded/explorer/standard = 6, /obj/item/clothing/suit/hooded/cloak/goliath = 2, /obj/item/clothing/suit/hooded/explorer/exo = 6, /obj/item/clothing/suit/hooded/explorer/heva = 6))
|
||||
if(prob(30))
|
||||
r_pocket = pickweight(list(/obj/item/stack/marker_beacon = 20, /obj/item/stack/spacecash/c1000 = 7, /obj/item/reagent_containers/hypospray/medipen/survival = 2, /obj/item/borg/upgrade/modkit/damage = 1 ))
|
||||
if(prob(10))
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
vision_range = 2
|
||||
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
|
||||
faction = list("mining")
|
||||
weather_immunities = list("lava","ash")
|
||||
weather_immunities = list(TRAIT_LAVA_IMMUNE,TRAIT_ASHSTORM_IMMUNE)
|
||||
obj_damage = 30
|
||||
environment_smash = ENVIRONMENT_SMASH_WALLS
|
||||
minbodytemp = 0
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
icon_dead = "eskimo_dead"
|
||||
maxHealth = 55
|
||||
health = 55
|
||||
weather_immunities = list("snow")
|
||||
weather_immunities = list(TRAIT_SNOWSTORM_IMMUNE)
|
||||
gold_core_spawnable = NO_SPAWN
|
||||
melee_damage_lower = 17
|
||||
melee_damage_upper = 20
|
||||
@@ -65,7 +65,7 @@
|
||||
icon_dead = "templar_dead"
|
||||
maxHealth = 150
|
||||
health = 150
|
||||
weather_immunities = list("snow")
|
||||
weather_immunities = list(TRAIT_SNOWSTORM_IMMUNE)
|
||||
speed = 2
|
||||
gold_core_spawnable = NO_SPAWN
|
||||
speak_chance = 1
|
||||
@@ -86,7 +86,7 @@
|
||||
speed = 5
|
||||
maxHealth = 75
|
||||
health = 75
|
||||
weather_immunities = list("snow")
|
||||
weather_immunities = list(TRAIT_SNOWSTORM_IMMUNE)
|
||||
color = rgb(114,228,250)
|
||||
loot = list(/obj/effect/decal/remains/human{color = rgb(114,228,250)})
|
||||
|
||||
|
||||
@@ -56,6 +56,9 @@
|
||||
var/minbodytemp = 250
|
||||
var/maxbodytemp = 350
|
||||
|
||||
/// List of weather immunity traits that are then added on Initialize(), see traits.dm.
|
||||
var/list/weather_immunities
|
||||
|
||||
///Healable by medical stacks? Defaults to yes.
|
||||
var/healable = 1
|
||||
|
||||
@@ -165,6 +168,8 @@
|
||||
AddComponent(/datum/component/personal_crafting)
|
||||
if(footstep_type)
|
||||
AddComponent(/datum/component/footstep, footstep_type)
|
||||
for(var/trait in weather_immunities)
|
||||
ADD_TRAIT(src, trait, ROUNDSTART_TRAIT)
|
||||
|
||||
/mob/living/simple_animal/Destroy()
|
||||
GLOB.simple_animals[AIStatus] -= src
|
||||
|
||||
Reference in New Issue
Block a user