Merge branch 'master' into Synth-Brainwashing
This commit is contained in:
@@ -92,7 +92,7 @@
|
||||
update_icon()
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/ntnet_relay/Initialize()
|
||||
/obj/machinery/ntnet_relay/Initialize(mapload)
|
||||
uid = gl_uid++
|
||||
component_parts = list()
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
var/allow_creating_vr_mobs = TRUE //So you can have vr_sleepers that always spawn you as a specific person or 1 life/chance vr games
|
||||
var/only_current_user_can_interact = FALSE
|
||||
|
||||
/obj/machinery/vr_sleeper/Initialize()
|
||||
/obj/machinery/vr_sleeper/Initialize(mapload)
|
||||
. = ..()
|
||||
sparks = new /datum/effect_system/spark_spread()
|
||||
sparks.set_up(2,0)
|
||||
@@ -151,7 +151,7 @@
|
||||
if(SOFT_CRIT)
|
||||
status = "Barely Conscious"
|
||||
data["vr_avatar"] += list("status" = status, "health" = vr_mob.health, "maxhealth" = vr_mob.maxHealth)
|
||||
else
|
||||
else
|
||||
data["can_delete_avatar"] = FALSE
|
||||
data["vr_avatar"] = FALSE
|
||||
data["isliving"] = FALSE
|
||||
@@ -207,7 +207,7 @@
|
||||
var/vr_category = "default" //So we can have specific sleepers, eg: "Basketball VR Sleeper", etc.
|
||||
var/vr_outfit = /datum/outfit/vr
|
||||
|
||||
/obj/effect/landmark/vr_spawn/Initialize()
|
||||
/obj/effect/landmark/vr_spawn/Initialize(mapload)
|
||||
. = ..()
|
||||
LAZYADD(GLOB.vr_spawnpoints[vr_category], src)
|
||||
|
||||
@@ -235,7 +235,7 @@
|
||||
var/area/vr_area
|
||||
var/list/corpse_party
|
||||
|
||||
/obj/effect/vr_clean_master/Initialize()
|
||||
/obj/effect/vr_clean_master/Initialize(mapload)
|
||||
. = ..()
|
||||
vr_area = get_base_area(src)
|
||||
if(!vr_area)
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
anchored = TRUE
|
||||
var/popped = FALSE
|
||||
|
||||
/obj/effect/fun_balloon/Initialize()
|
||||
/obj/effect/fun_balloon/Initialize(mapload)
|
||||
. = ..()
|
||||
SSobj.processing |= src
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
timeleft = 0
|
||||
var/list/warp_points
|
||||
|
||||
/obj/effect/forcefield/arena_shuttle/Initialize()
|
||||
/obj/effect/forcefield/arena_shuttle/Initialize(mapload)
|
||||
. = ..()
|
||||
for(var/obj/effect/landmark/shuttle_arena_safe/exit in GLOB.landmarks_list)
|
||||
warp_points += exit
|
||||
|
||||
@@ -1577,7 +1577,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
duration = 9
|
||||
pixel_z = 270
|
||||
|
||||
/obj/effect/temp_visual/fireball/Initialize()
|
||||
/obj/effect/temp_visual/fireball/Initialize(mapload)
|
||||
. = ..()
|
||||
animate(src, pixel_z = 0, time = duration)
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
icon_state = "vest_stealth"
|
||||
item_state = "armor"
|
||||
blood_overlay_type = "armor"
|
||||
armor = list("melee" = 15, "bullet" = 15, "laser" = 15, "energy" = 15, "bomb" = 15, "bio" = 15, "rad" = 15, "fire" = 70, "acid" = 70)
|
||||
armor = list(MELEE = 15, BULLET = 15, LASER = 15, ENERGY = 15, BOMB = 15, BIO = 15, RAD = 15, FIRE = 70, ACID = 70)
|
||||
actions_types = list(/datum/action/item_action/hands_free/activate)
|
||||
allowed = list(
|
||||
/obj/item/abductor,
|
||||
@@ -27,10 +27,10 @@
|
||||
var/stealth_active = 0
|
||||
var/combat_cooldown = 10
|
||||
var/datum/icon_snapshot/disguise
|
||||
var/stealth_armor = list("melee" = 15, "bullet" = 15, "laser" = 15, "energy" = 15, "bomb" = 15, "bio" = 15, "rad" = 15, "fire" = 70, "acid" = 70)
|
||||
var/combat_armor = list("melee" = 50, "bullet" = 50, "laser" = 50, "energy" = 50, "bomb" = 50, "bio" = 50, "rad" = 50, "fire" = 90, "acid" = 90)
|
||||
var/stealth_armor = list(MELEE = 15, BULLET = 15, LASER = 15, ENERGY = 15, BOMB = 15, BIO = 15, RAD = 15, FIRE = 70, ACID = 70)
|
||||
var/combat_armor = list(MELEE = 50, BULLET = 50, LASER = 50, ENERGY = 50, BOMB = 50, BIO = 50, RAD = 50, FIRE = 90, ACID = 90)
|
||||
|
||||
/obj/item/clothing/suit/armor/abductor/vest/Initialize()
|
||||
/obj/item/clothing/suit/armor/abductor/vest/Initialize(mapload)
|
||||
. = ..()
|
||||
stealth_armor = getArmor(arglist(stealth_armor))
|
||||
combat_armor = getArmor(arglist(combat_armor))
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
var/mind_control_duration = 1800
|
||||
var/active_mind_control = FALSE
|
||||
|
||||
/obj/item/organ/heart/gland/Initialize()
|
||||
/obj/item/organ/heart/gland/Initialize(mapload)
|
||||
. = ..()
|
||||
icon_state = pick(list("health", "spider", "slime", "emp", "species", "egg", "vent", "mindshock", "viral"))
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
mind_control_duration = 1200
|
||||
var/list/possible_reagents = list()
|
||||
|
||||
/obj/item/organ/heart/gland/chem/Initialize()
|
||||
/obj/item/organ/heart/gland/chem/Initialize(mapload)
|
||||
. = ..()
|
||||
for(var/R in subtypesof(/datum/reagent/drug) + subtypesof(/datum/reagent/medicine) + typesof(/datum/reagent/toxin))
|
||||
possible_reagents += R
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
//TODO : replace with presets or spectrum
|
||||
return rgb(rand(0,255),rand(0,255),rand(0,255))
|
||||
|
||||
/obj/machinery/abductor/gland_dispenser/Initialize()
|
||||
/obj/machinery/abductor/gland_dispenser/Initialize(mapload)
|
||||
. = ..()
|
||||
gland_types = subtypesof(/obj/item/organ/heart/gland)
|
||||
gland_types = shuffle(gland_types)
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
icon_state = "teleport"
|
||||
duration = 80
|
||||
|
||||
/obj/effect/temp_visual/teleport_abductor/Initialize()
|
||||
/obj/effect/temp_visual/teleport_abductor/Initialize(mapload)
|
||||
. = ..()
|
||||
var/datum/effect_system/spark_spread/S = new
|
||||
S.set_up(10,0,loc)
|
||||
|
||||
@@ -46,10 +46,10 @@
|
||||
else
|
||||
adjustFireLoss(5)
|
||||
|
||||
/mob/living/simple_animal/hostile/blob/CanPass(atom/movable/mover, turf/target)
|
||||
/mob/living/simple_animal/hostile/blob/CanAllowThrough(atom/movable/mover, turf/target)
|
||||
. = ..()
|
||||
if(istype(mover, /obj/structure/blob))
|
||||
return 1
|
||||
return ..()
|
||||
return TRUE
|
||||
|
||||
/mob/living/simple_animal/hostile/blob/Process_Spacemove(movement_dir = 0)
|
||||
for(var/obj/structure/blob/B in range(1, src))
|
||||
@@ -221,7 +221,7 @@
|
||||
hud_type = /datum/hud/blobbernaut
|
||||
var/independent = FALSE
|
||||
|
||||
/mob/living/simple_animal/hostile/blob/blobbernaut/Initialize()
|
||||
/mob/living/simple_animal/hostile/blob/blobbernaut/Initialize(mapload)
|
||||
. = ..()
|
||||
if(independent)
|
||||
pass_flags &= ~PASSBLOB
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
icon_state = "blank_blob"
|
||||
desc = "A huge, pulsating yellow mass."
|
||||
max_integrity = 400
|
||||
armor = list("melee" = 30, "bullet" = 30, "laser" = 20, "energy" = 5, "bomb" = 70, "bio" = 0, "rad" = 0, "fire" = 75, "acid" = 90) // Last stand
|
||||
armor = list(MELEE = 30, BULLET = 30, LASER = 20, ENERGY = 5, BOMB = 70, BIO = 0, RAD = 0, FIRE = 75, ACID = 90) // Last stand
|
||||
explosion_block = 6
|
||||
point_return = -1
|
||||
health_regen = 0 //we regen in Life() instead of when pulsed
|
||||
@@ -47,7 +47,7 @@
|
||||
|
||||
/obj/structure/blob/core/ex_act(severity, target, origin)
|
||||
var/damage = 50 - 10 * severity //remember, the core takes half brute damage, so this is 20/15/10 damage based on severity
|
||||
take_damage(damage, BRUTE, "bomb", 0)
|
||||
take_damage(damage, BRUTE, BOMB, 0)
|
||||
|
||||
/obj/structure/blob/core/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir, overmind_reagent_trigger = 1)
|
||||
. = ..()
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
max_integrity = 200
|
||||
health_regen = 1
|
||||
point_return = 25
|
||||
armor = list("melee" = 10, "bullet" = 20, "laser" = 15, "energy" = 10, "bomb" = 40, "bio" = 0, "rad" = 0, "fire" = 90, "acid" = 90)
|
||||
armor = list(MELEE = 10, BULLET = 20, LASER = 15, ENERGY = 10, BOMB = 40, BIO = 0, RAD = 0, FIRE = 90, ACID = 90)
|
||||
var/list/spores = list()
|
||||
var/mob/living/simple_animal/hostile/blob/blobbernaut/naut = null
|
||||
var/max_spores = 3
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
icon_state = "blank_blob"
|
||||
desc = "A large, pulsating yellow mass."
|
||||
max_integrity = 200
|
||||
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 65, "acid" = 90)
|
||||
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 65, ACID = 90)
|
||||
health_regen = 3
|
||||
point_return = 25
|
||||
|
||||
|
||||
/obj/structure/blob/node/Initialize()
|
||||
/obj/structure/blob/node/Initialize(mapload)
|
||||
GLOB.blob_nodes += src
|
||||
START_PROCESSING(SSobj, src)
|
||||
. = ..()
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
desc = "A thin spire of slightly swaying tendrils."
|
||||
max_integrity = 60
|
||||
point_return = 15
|
||||
armor = list("melee" = 10, "bullet" = 10, "laser" = 0, "energy" = 0, "bomb" = 15, "bio" = 0, "rad" = 0, "fire" = 90, "acid" = 90)
|
||||
armor = list(MELEE = 10, BULLET = 10, LASER = 0, ENERGY = 0, BOMB = 15, BIO = 0, RAD = 0, FIRE = 90, ACID = 90)
|
||||
var/resource_delay = 0
|
||||
|
||||
/obj/structure/blob/resource/scannerreport()
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
explosion_block = 3
|
||||
point_return = 4
|
||||
atmosblock = TRUE
|
||||
armor = list("melee" = 25, "bullet" = 25, "laser" = 15, "energy" = 10, "bomb" = 20, "bio" = 0, "rad" = 0, "fire" = 90, "acid" = 90)
|
||||
armor = list(MELEE = 25, BULLET = 25, LASER = 15, ENERGY = 10, BOMB = 20, BIO = 0, RAD = 0, FIRE = 90, ACID = 90)
|
||||
var/weakened
|
||||
|
||||
/obj/structure/blob/shield/scannerreport()
|
||||
@@ -28,7 +28,7 @@
|
||||
desc = "[damaged_desc]"
|
||||
atmosblock = FALSE
|
||||
if(!weakened)
|
||||
armor = armor.setRating("melee" = 15, "bullet" = 15, "laser" = 5, "energy" = 0, "bomb" = 10, "bio" = 0, "rad" = 0, "fire" = 90, "acid" = 90)
|
||||
armor = armor.setRating(MELEE = 15, BULLET = 15, LASER = 5, ENERGY = 0, BOMB = 10, BIO = 0, RAD = 0, FIRE = 90, ACID = 90)
|
||||
weakened = TRUE
|
||||
else
|
||||
icon_state = initial(icon_state)
|
||||
@@ -36,7 +36,7 @@
|
||||
desc = initial(desc)
|
||||
atmosblock = TRUE
|
||||
if(weakened)
|
||||
armor = armor.setRating("melee" = 25, "bullet" = 25, "laser" = 15, "energy" = 10, "bomb" = 20, "bio" = 0, "rad" = 0, "fire" = 90, "acid" = 90)
|
||||
armor = armor.setRating(MELEE = 25, BULLET = 25, LASER = 15, ENERGY = 10, BOMB = 20, BIO = 0, RAD = 0, FIRE = 90, ACID = 90)
|
||||
weakened = FALSE
|
||||
air_update_turf(1)
|
||||
|
||||
|
||||
@@ -14,15 +14,15 @@
|
||||
reagent = /datum/reagent/blob/blazing_oil
|
||||
|
||||
/datum/blobstrain/reagent/blazing_oil/extinguish_reaction(obj/structure/blob/B)
|
||||
B.take_damage(1.5, BURN, "energy")
|
||||
B.take_damage(1.5, BURN, ENERGY)
|
||||
|
||||
/datum/blobstrain/reagent/blazing_oil/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag)
|
||||
if(damage_type == BURN && damage_flag != "energy")
|
||||
if(damage_type == BURN && damage_flag != ENERGY)
|
||||
for(var/turf/open/T in range(1, B))
|
||||
var/obj/structure/blob/C = locate() in T
|
||||
if(!(C && C.overmind && C.overmind.blobstrain.type == B.overmind.blobstrain.type) && prob(80))
|
||||
new /obj/effect/hotspot(T)
|
||||
if(damage_flag == "fire")
|
||||
if(damage_flag == FIRE)
|
||||
return 0
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
return damage * 1.25 //a laser will do 25 damage, which will kill any normal blob
|
||||
|
||||
/datum/blobstrain/reagent/electromagnetic_web/death_reaction(obj/structure/blob/B, damage_flag)
|
||||
if(damage_flag == "melee" || damage_flag == "bullet" || damage_flag == "laser")
|
||||
if(damage_flag == MELEE || damage_flag == BULLET || damage_flag == LASER)
|
||||
empulse_using_range(B.loc, 5) //less than screen range, so you can stand out of range to avoid it
|
||||
|
||||
/datum/reagent/blob/electromagnetic_web
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
reagent = /datum/reagent/blob/energized_jelly
|
||||
|
||||
/datum/blobstrain/reagent/energized_jelly/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag)
|
||||
if((damage_flag == "melee" || damage_flag == "bullet" || damage_flag == "laser") && B.obj_integrity - damage <= 0 && prob(10))
|
||||
if((damage_flag == MELEE || damage_flag == BULLET || damage_flag == LASER) && B.obj_integrity - damage <= 0 && prob(10))
|
||||
do_sparks(rand(2, 4), FALSE, B)
|
||||
return ..()
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
/datum/blobstrain/reagent/energized_jelly/emp_reaction(obj/structure/blob/B, severity)
|
||||
var/damage = rand(30, 50) - severity * rand(10, 15)
|
||||
B.take_damage(damage, BURN, "energy")
|
||||
B.take_damage(damage, BURN, ENERGY)
|
||||
|
||||
/datum/reagent/blob/energized_jelly
|
||||
name = "Energized Jelly"
|
||||
|
||||
@@ -12,9 +12,9 @@
|
||||
reagent = /datum/reagent/blob/explosive_lattice
|
||||
|
||||
/datum/blobstrain/reagent/explosive_lattice/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag)
|
||||
if(damage_flag == "bomb")
|
||||
if(damage_flag == BOMB)
|
||||
return 0
|
||||
else if(damage_flag != "melee" && damage_flag != "bullet" && damage_flag != "laser")
|
||||
else if(damage_flag != MELEE && damage_flag != BULLET && damage_flag != LASER)
|
||||
return damage * 1.5
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -13,12 +13,12 @@
|
||||
reagent = /datum/reagent/blob/pressurized_slime
|
||||
|
||||
/datum/blobstrain/reagent/pressurized_slime/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag)
|
||||
if((damage_flag == "melee" || damage_flag == "bullet" || damage_flag == "laser") || damage_type != BURN)
|
||||
if((damage_flag == MELEE || damage_flag == BULLET || damage_flag == LASER) || damage_type != BURN)
|
||||
extinguisharea(B, damage)
|
||||
return ..()
|
||||
|
||||
/datum/blobstrain/reagent/pressurized_slime/death_reaction(obj/structure/blob/B, damage_flag)
|
||||
if(damage_flag == "melee" || damage_flag == "bullet" || damage_flag == "laser")
|
||||
if(damage_flag == MELEE || damage_flag == BULLET || damage_flag == LASER)
|
||||
B.visible_message("<span class='boldwarning'>The blob ruptures, spraying the area with liquid!</span>")
|
||||
extinguisharea(B, 50)
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
/datum/blobstrain/reagent/reactive_spines/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag)
|
||||
if(damage && damage_type == BRUTE && B.obj_integrity - damage > 0) //is there any damage, is it brute, and will we be alive
|
||||
if(damage_flag == "melee")
|
||||
if(damage_flag == MELEE)
|
||||
B.visible_message("<span class='boldwarning'>The blob retaliates, lashing out!</span>")
|
||||
for(var/atom/A in range(1, B))
|
||||
A.blob_act(B)
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
B.forceMove(T)
|
||||
|
||||
/datum/blobstrain/reagent/shifting_fragments/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag)
|
||||
if((damage_flag == "melee" || damage_flag == "bullet" || damage_flag == "laser") && damage > 0 && B.obj_integrity - damage > 0 && prob(60-damage))
|
||||
if((damage_flag == MELEE || damage_flag == BULLET || damage_flag == LASER) && damage > 0 && B.obj_integrity - damage > 0 && prob(60-damage))
|
||||
var/list/blobstopick = list()
|
||||
for(var/obj/structure/blob/OB in orange(1, B))
|
||||
if((istype(OB, /obj/structure/blob/normal) || (istype(OB, /obj/structure/blob/shield) && prob(25))) && OB.overmind && OB.overmind.blobstrain.type == B.overmind.blobstrain.type)
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
message = "The blobs strike you"
|
||||
|
||||
/datum/blobstrain/reagent/synchronous_mesh/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag)
|
||||
if(damage_flag == "melee" || damage_flag == "bullet" || damage_flag == "laser") //the cause isn't fire or bombs, so split the damage
|
||||
if(damage_flag == MELEE || damage_flag == BULLET || damage_flag == LASER) //the cause isn't fire or bombs, so split the damage
|
||||
var/damagesplit = 1 //maximum split is 9, reducing the damage each blob takes to 11% but doing that damage to 9 blobs
|
||||
for(var/obj/structure/blob/C in orange(1, B))
|
||||
if(!istype(C, /obj/structure/blob/core) && !istype(C, /obj/structure/blob/node) && C.overmind && C.overmind.blobstrain.type == B.overmind.blobstrain.type) //if it doesn't have the same chemical or is a core or node, don't split damage to it
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
reagent = /datum/reagent/blob/zombifying_pods
|
||||
|
||||
/datum/blobstrain/reagent/zombifying_pods/damage_reaction(obj/structure/blob/B, damage, damage_type, damage_flag)
|
||||
if((damage_flag == "melee" || damage_flag == "bullet" || damage_flag == "laser") && damage <= 20 && B.obj_integrity - damage <= 0 && prob(30)) //if the cause isn't fire or a bomb, the damage is less than 21, we're going to die from that damage, 20% chance of a shitty spore.
|
||||
if((damage_flag == MELEE || damage_flag == BULLET || damage_flag == LASER) && damage <= 20 && B.obj_integrity - damage <= 0 && prob(30)) //if the cause isn't fire or a bomb, the damage is less than 21, we're going to die from that damage, 20% chance of a shitty spore.
|
||||
B.visible_message("<span class='warning'><b>A spore floats free of the blob!</b></span>")
|
||||
var/mob/living/simple_animal/hostile/blob/blobspore/weak/BS = new/mob/living/simple_animal/hostile/blob/blobspore/weak(B.loc)
|
||||
BS.overmind = B.overmind
|
||||
|
||||
@@ -4,14 +4,15 @@
|
||||
icon = 'icons/mob/blob.dmi'
|
||||
light_range = 2
|
||||
desc = "A thick wall of writhing tendrils."
|
||||
density = FALSE //this being false causes two bugs, being able to attack blob tiles behind other blobs and being unable to move on blob tiles in no gravity, but turning it to 1 causes the blob mobs to be unable to path through blobs, which is probably worse.
|
||||
density = TRUE
|
||||
opacity = 0
|
||||
anchored = TRUE
|
||||
layer = BELOW_MOB_LAYER
|
||||
pass_flags_self = PASSBLOB
|
||||
CanAtmosPass = ATMOS_PASS_PROC
|
||||
var/point_return = 0 //How many points the blob gets back when it removes a blob of that type. If less than 0, blob cannot be removed.
|
||||
max_integrity = 30
|
||||
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 80, "acid" = 70)
|
||||
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 80, ACID = 70)
|
||||
var/health_regen = 2 //how much health this blob regens when pulsed
|
||||
var/pulse_timestamp = 0 //we got pulsed when?
|
||||
var/heal_timestamp = 0 //we got healed when?
|
||||
@@ -67,11 +68,6 @@
|
||||
/obj/structure/blob/BlockThermalConductivity()
|
||||
return atmosblock
|
||||
|
||||
/obj/structure/blob/CanPass(atom/movable/mover, turf/target)
|
||||
if(istype(mover) && (mover.pass_flags & PASSBLOB))
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/obj/structure/blob/CanAtmosPass(turf/T)
|
||||
return !atmosblock
|
||||
|
||||
@@ -210,9 +206,9 @@
|
||||
. = ..()
|
||||
if(overmind)
|
||||
if(overmind.blobstrain.tesla_reaction(src, power))
|
||||
take_damage(power/400, BURN, "energy")
|
||||
take_damage(power/400, BURN, ENERGY)
|
||||
else
|
||||
take_damage(power/400, BURN, "energy")
|
||||
take_damage(power/400, BURN, ENERGY)
|
||||
|
||||
/obj/structure/blob/extinguish()
|
||||
..()
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
var/nighttime_duration = 900 //15 Minutes
|
||||
var/issued_XP = FALSE
|
||||
|
||||
/obj/effect/sunlight/Initialize()
|
||||
/obj/effect/sunlight/Initialize(mapload)
|
||||
. = ..()
|
||||
|
||||
/obj/effect/sunlight/proc/start_countdown()
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
resistance_flags = NONE
|
||||
max_integrity = 100
|
||||
integrity_failure = 0.5
|
||||
armor = list("melee" = 50, "bullet" = 20, "laser" = 30, "energy" = 0, "bomb" = 50, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 60)
|
||||
armor = list(MELEE = 50, BULLET = 20, LASER = 30, ENERGY = 0, BOMB = 50, BIO = 0, RAD = 0, FIRE = 70, ACID = 60)
|
||||
|
||||
/obj/structure/closet/crate/coffin/meatcoffin
|
||||
name = "meat coffin"
|
||||
@@ -69,7 +69,7 @@
|
||||
material_drop = /obj/item/reagent_containers/food/snacks/meat/slab
|
||||
material_drop_amount = 3
|
||||
integrity_failure = 0.57
|
||||
armor = list("melee" = 70, "bullet" = 10, "laser" = 10, "energy" = 0, "bomb" = 70, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 100)
|
||||
armor = list(MELEE = 70, BULLET = 10, LASER = 10, ENERGY = 0, BOMB = 70, BIO = 0, RAD = 0, FIRE = 70, ACID = 100)
|
||||
|
||||
/obj/structure/closet/crate/coffin/metalcoffin
|
||||
name = "metal coffin"
|
||||
@@ -85,7 +85,7 @@
|
||||
material_drop_amount = 5
|
||||
max_integrity = 200
|
||||
integrity_failure = 0.25
|
||||
armor = list("melee" = 40, "bullet" = 15, "laser" = 50, "energy" = 0, "bomb" = 10, "bio" = 0, "rad" = 0, "fire" = 70, "acid" = 60)
|
||||
armor = list(MELEE = 40, BULLET = 15, LASER = 50, ENERGY = 0, BOMB = 10, BIO = 0, RAD = 0, FIRE = 70, ACID = 60)
|
||||
|
||||
//////////////////////////////////////////////
|
||||
|
||||
|
||||
@@ -302,7 +302,7 @@
|
||||
firing_effect_type = null
|
||||
var/obj/item/gun/magic/tentacle/gun //the item that shot it
|
||||
|
||||
/obj/item/ammo_casing/magic/tentacle/Initialize()
|
||||
/obj/item/ammo_casing/magic/tentacle/Initialize(mapload)
|
||||
gun = loc
|
||||
. = ..()
|
||||
|
||||
@@ -321,7 +321,7 @@
|
||||
var/chain
|
||||
var/obj/item/ammo_casing/magic/tentacle/source //the item that shot it
|
||||
|
||||
/obj/item/projectile/tentacle/Initialize()
|
||||
/obj/item/projectile/tentacle/Initialize(mapload)
|
||||
source = loc
|
||||
. = ..()
|
||||
|
||||
@@ -503,10 +503,10 @@
|
||||
item_flags = DROPDEL
|
||||
clothing_flags = STOPSPRESSUREDAMAGE //Not THICKMATERIAL because it's organic tissue, so if somebody tries to inject something into it, it still ends up in your blood. (also balance but muh fluff)
|
||||
allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/oxygen)
|
||||
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 90, "acid" = 90) //No armor at all.
|
||||
armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 90, ACID = 90) //No armor at all.
|
||||
mutantrace_variation = NONE
|
||||
|
||||
/obj/item/clothing/suit/space/changeling/Initialize()
|
||||
/obj/item/clothing/suit/space/changeling/Initialize(mapload)
|
||||
. = ..()
|
||||
ADD_TRAIT(src, TRAIT_NODROP, CHANGELING_TRAIT)
|
||||
if(ismob(loc))
|
||||
@@ -524,10 +524,10 @@
|
||||
desc = "A covering of pressure and temperature-resistant organic tissue with a glass-like chitin front."
|
||||
item_flags = DROPDEL
|
||||
clothing_flags = STOPSPRESSUREDAMAGE
|
||||
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 90, "acid" = 90)
|
||||
armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, RAD = 0, FIRE = 90, ACID = 90)
|
||||
flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH
|
||||
|
||||
/obj/item/clothing/head/helmet/space/changeling/Initialize()
|
||||
/obj/item/clothing/head/helmet/space/changeling/Initialize(mapload)
|
||||
. = ..()
|
||||
ADD_TRAIT(src, TRAIT_NODROP, CHANGELING_TRAIT)
|
||||
|
||||
@@ -558,12 +558,12 @@
|
||||
icon_state = "lingarmor"
|
||||
item_flags = DROPDEL
|
||||
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
|
||||
armor = list("melee" = 70, "bullet" = 60, "laser" = 30, "energy" = 40, "bomb" = 10, "bio" = 4, "rad" = 0, "fire" = 50, "acid" = 90)
|
||||
armor = list(MELEE = 70, BULLET = 60, LASER = 30, ENERGY = 40, BOMB = 10, BIO = 4, RAD = 0, FIRE = 50, ACID = 90)
|
||||
flags_inv = HIDEJUMPSUIT
|
||||
cold_protection = 0
|
||||
heat_protection = 0
|
||||
|
||||
/obj/item/clothing/suit/armor/changeling/Initialize()
|
||||
/obj/item/clothing/suit/armor/changeling/Initialize(mapload)
|
||||
. = ..()
|
||||
ADD_TRAIT(src, TRAIT_NODROP, CHANGELING_TRAIT)
|
||||
if(ismob(loc))
|
||||
@@ -574,10 +574,10 @@
|
||||
desc = "A tough, hard covering of black chitin with transparent chitin in front."
|
||||
icon_state = "lingarmorhelmet"
|
||||
item_flags = DROPDEL
|
||||
armor = list("melee" = 70, "bullet" = 60, "laser" = 30, "energy" = 40, "bomb" = 10, "bio" = 4, "rad" = 0, "fire" = 50, "acid" = 90)
|
||||
armor = list(MELEE = 70, BULLET = 60, LASER = 30, ENERGY = 40, BOMB = 10, BIO = 4, RAD = 0, FIRE = 50, ACID = 90)
|
||||
flags_inv = HIDEEARS|HIDEHAIR|HIDEEYES|HIDEFACIALHAIR|HIDEFACE
|
||||
|
||||
/obj/item/clothing/head/helmet/changeling/Initialize()
|
||||
/obj/item/clothing/head/helmet/changeling/Initialize(mapload)
|
||||
. = ..()
|
||||
ADD_TRAIT(src, TRAIT_NODROP, CHANGELING_TRAIT)
|
||||
|
||||
@@ -653,9 +653,9 @@
|
||||
cold_protection = HANDS
|
||||
min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT
|
||||
max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT
|
||||
armor = list("melee" = 20, "bullet" = 20, "laser" = 20, "energy" = 20, "bomb" = 35, "bio" = 35, "rad" = 35, "fire" = 0, "acid" = 0)
|
||||
armor = list(MELEE = 20, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 35, BIO = 35, RAD = 35, FIRE = 0, ACID = 0)
|
||||
|
||||
/obj/item/clothing/gloves/claws/Initialize()
|
||||
/obj/item/clothing/gloves/claws/Initialize(mapload)
|
||||
. = ..()
|
||||
ADD_TRAIT(src, TRAIT_NODROP, CHANGELING_TRAIT)
|
||||
|
||||
@@ -697,7 +697,7 @@
|
||||
cold_protection = ARMS|HANDS
|
||||
min_cold_protection_temperature = GLOVES_MIN_TEMP_PROTECT
|
||||
max_heat_protection_temperature = GLOVES_MAX_TEMP_PROTECT
|
||||
armor = list("melee" = 20, "bullet" = 20, "laser" = 20, "energy" = 20, "bomb" = 35, "bio" = 35, "rad" = 35, "fire" = 0, "acid" = 0)
|
||||
armor = list(MELEE = 20, BULLET = 20, LASER = 20, ENERGY = 20, BOMB = 35, BIO = 35, RAD = 35, FIRE = 0, ACID = 0)
|
||||
enhancement = 6 // first, do harm. all of it. all of the harm. just fuck em up.
|
||||
wound_enhancement = 6
|
||||
var/fast_enhancement = 6
|
||||
@@ -727,7 +727,7 @@
|
||||
to_chat(user, "<span class='notice'>[src] are now formed to allow for [fasthands ? "fast, precise strikes" : "crippling, damaging blows"].</span>")
|
||||
addtimer(CALLBACK(src, .proc/use_buffs, user, TRUE), 0.1) // go fuckin get em
|
||||
|
||||
/obj/item/clothing/gloves/fingerless/pugilist/cling/Initialize()
|
||||
/obj/item/clothing/gloves/fingerless/pugilist/cling/Initialize(mapload)
|
||||
. = ..()
|
||||
ADD_TRAIT(src, TRAIT_NODROP, CHANGELING_TRAIT)
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
/obj/item/clothing/glasses/changeling
|
||||
name = "flesh"
|
||||
|
||||
/obj/item/clothing/glasses/changeling/Initialize()
|
||||
/obj/item/clothing/glasses/changeling/Initialize(mapload)
|
||||
. = ..()
|
||||
ADD_TRAIT(src, TRAIT_NODROP, CHANGELING_TRAIT)
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
/obj/item/clothing/under/changeling
|
||||
name = "flesh"
|
||||
|
||||
/obj/item/clothing/under/changeling/Initialize()
|
||||
/obj/item/clothing/under/changeling/Initialize(mapload)
|
||||
. = ..()
|
||||
ADD_TRAIT(src, TRAIT_NODROP, CHANGELING_TRAIT)
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
name = "flesh"
|
||||
allowed = list(/obj/item/changeling)
|
||||
|
||||
/obj/item/clothing/suit/changeling/Initialize()
|
||||
/obj/item/clothing/suit/changeling/Initialize(mapload)
|
||||
. = ..()
|
||||
ADD_TRAIT(src, TRAIT_NODROP, CHANGELING_TRAIT)
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
/obj/item/clothing/head/changeling
|
||||
name = "flesh"
|
||||
|
||||
/obj/item/clothing/head/changeling/Initialize()
|
||||
/obj/item/clothing/head/changeling/Initialize(mapload)
|
||||
. = ..()
|
||||
ADD_TRAIT(src, TRAIT_NODROP, CHANGELING_TRAIT)
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
/obj/item/clothing/shoes/changeling
|
||||
name = "flesh"
|
||||
|
||||
/obj/item/clothing/shoes/changeling/Initialize()
|
||||
/obj/item/clothing/shoes/changeling/Initialize(mapload)
|
||||
. = ..()
|
||||
ADD_TRAIT(src, TRAIT_NODROP, CHANGELING_TRAIT)
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
/obj/item/clothing/gloves/changeling
|
||||
name = "flesh"
|
||||
|
||||
/obj/item/clothing/gloves/changeling/Initialize()
|
||||
/obj/item/clothing/gloves/changeling/Initialize(mapload)
|
||||
. = ..()
|
||||
ADD_TRAIT(src, TRAIT_NODROP, CHANGELING_TRAIT)
|
||||
|
||||
@@ -102,7 +102,7 @@
|
||||
/obj/item/clothing/mask/changeling
|
||||
name = "flesh"
|
||||
|
||||
/obj/item/clothing/mask/changeling/Initialize()
|
||||
/obj/item/clothing/mask/changeling/Initialize(mapload)
|
||||
. = ..()
|
||||
ADD_TRAIT(src, TRAIT_NODROP, CHANGELING_TRAIT)
|
||||
|
||||
@@ -119,7 +119,7 @@
|
||||
slot_flags = ALL
|
||||
allowed = list(/obj/item/changeling)
|
||||
|
||||
/obj/item/changeling/Initialize()
|
||||
/obj/item/changeling/Initialize(mapload)
|
||||
. = ..()
|
||||
ADD_TRAIT(src, TRAIT_NODROP, CHANGELING_TRAIT)
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
opacity = 0
|
||||
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF | FREEZE_PROOF
|
||||
|
||||
/obj/effect/clockwork/Initialize()
|
||||
/obj/effect/clockwork/Initialize(mapload)
|
||||
. = ..()
|
||||
GLOB.all_clockwork_objects += src
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
/obj/effect/clockwork/city_of_cogs_rift/singularity_pull()
|
||||
return
|
||||
|
||||
/obj/effect/clockwork/city_of_cogs_rift/Initialize()
|
||||
/obj/effect/clockwork/city_of_cogs_rift/Initialize(mapload)
|
||||
. = ..()
|
||||
visible_message("<span class='warning'>The air above [loc] shimmers and pops as a [name] forms there!</span>")
|
||||
for(var/mob/M in GLOB.player_list)
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
smooth = SMOOTH_TRUE
|
||||
layer = CLOSED_TURF_LAYER
|
||||
|
||||
/obj/effect/clockwork/overlay/wall/Initialize()
|
||||
/obj/effect/clockwork/overlay/wall/Initialize(mapload)
|
||||
. = ..()
|
||||
queue_smooth_neighbors(src)
|
||||
addtimer(CALLBACK(GLOBAL_PROC, .proc/queue_smooth, src), 1)
|
||||
|
||||
@@ -200,7 +200,7 @@
|
||||
sigil_name = "Sigil of Transmission"
|
||||
affects_servants = TRUE
|
||||
|
||||
/obj/effect/clockwork/sigil/transmission/Initialize()
|
||||
/obj/effect/clockwork/sigil/transmission/Initialize(mapload)
|
||||
. = ..()
|
||||
update_icon()
|
||||
|
||||
@@ -229,7 +229,7 @@
|
||||
else if(get_clockwork_power())
|
||||
to_chat(L, "<span class='brass'>You feel a slight, static shock.</span>")
|
||||
|
||||
/obj/effect/clockwork/sigil/transmission/Initialize()
|
||||
/obj/effect/clockwork/sigil/transmission/Initialize(mapload)
|
||||
. = ..()
|
||||
START_PROCESSING(SSobj, src)
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
density = TRUE
|
||||
CanAtmosPass = ATMOS_PASS_NO
|
||||
|
||||
/obj/effect/clockwork/servant_blocker/Initialize()
|
||||
/obj/effect/clockwork/servant_blocker/Initialize(mapload)
|
||||
. = ..()
|
||||
air_update_turf(TRUE)
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
var/is_stable = FALSE
|
||||
var/busy = FALSE //If someone is already working on closing the gateway, only needed for stable gateways but in the parent to not need typecasting
|
||||
|
||||
/obj/effect/clockwork/spatial_gateway/Initialize()
|
||||
/obj/effect/clockwork/spatial_gateway/Initialize(mapload)
|
||||
. = ..()
|
||||
addtimer(CALLBACK(src, .proc/check_setup), 1)
|
||||
|
||||
|
||||
@@ -72,8 +72,11 @@ drain_amount: How much is drained by default; Influenced by a multiplier on most
|
||||
cell.use(.)
|
||||
spark_system.start()
|
||||
|
||||
/obj/mecha/power_drain(clockcult_user, drain_weapons = FALSE, recursive = FALSE, drain_amount = MIN_CLOCKCULT_POWER)
|
||||
if(!clockcult_user || (occupant && !is_servant_of_ratvar(occupant)))
|
||||
/obj/vehicle/sealed/mecha/power_drain(clockcult_user, drain_weapons = FALSE, recursive = FALSE, drain_amount = MIN_CLOCKCULT_POWER)
|
||||
if(!clockcult_user || LAZYLEN(occupants))
|
||||
for(var/mob/living/MB in occupants)
|
||||
if(is_servant_of_ratvar(MB))
|
||||
return
|
||||
if(recursive)
|
||||
var/succ = 0
|
||||
for(var/atom/movable/target in contents) //Hiding in your mech won't save you.
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
icon_state = "rare_pepe"
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
|
||||
/obj/item/clockwork/Initialize()
|
||||
/obj/item/clockwork/Initialize(mapload)
|
||||
. = ..()
|
||||
ratvar_act()
|
||||
GLOB.all_clockwork_objects += src
|
||||
|
||||
@@ -172,7 +172,7 @@
|
||||
var/randomspritemax = 2
|
||||
var/sprite_shift = 9
|
||||
|
||||
/obj/item/clockwork/alloy_shards/Initialize()
|
||||
/obj/item/clockwork/alloy_shards/Initialize(mapload)
|
||||
. = ..()
|
||||
if(randomsinglesprite)
|
||||
replace_name_desc()
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
var/damage_per_combo = 2
|
||||
var/maximum_combo_damage = 18 //33 damage on max stacks. Usually the target will already be dead by then but if they somehow aren't, better to have this capped
|
||||
|
||||
/obj/item/clockwork/brass_claw/Initialize()
|
||||
/obj/item/clockwork/brass_claw/Initialize(mapload)
|
||||
. = ..()
|
||||
AddComponent(/datum/component/butchering, 60, 80)
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
item_state = "ratvarian_shield"
|
||||
desc = "A resilient shield made out of brass.. It feels warm to the touch."
|
||||
var/clockwork_desc = "A powerful shield of ratvarian making. It absorbs blocked attacks to charge devastating bashes."
|
||||
armor = list("melee" = 80, "bullet" = 70, "laser" = -10, "energy" = -20, "bomb" = 60, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100)
|
||||
armor = list(MELEE = 80, BULLET = 70, LASER = -10, ENERGY = -20, BOMB = 60, BIO = 0, RAD = 0, FIRE = 100, ACID = 100)
|
||||
shield_flags = SHIELD_FLAGS_DEFAULT | SHIELD_KINETIC_STRONG | SHIELD_ENERGY_WEAK
|
||||
max_integrity = 300 //High integrity, extremely strong against melee / bullets, but still quite easy to destroy with lasers and energy
|
||||
repair_material = /obj/item/stack/tile/brass
|
||||
|
||||
@@ -8,9 +8,9 @@
|
||||
resistance_flags = FIRE_PROOF | ACID_PROOF
|
||||
flags_inv = HIDEEARS|HIDEHAIR|HIDEFACE|HIDESNOUT
|
||||
mutantrace_variation = STYLE_MUZZLE
|
||||
armor = list("melee" = 50, "bullet" = 70, "laser" = 0, "energy" = 0, "bomb" = 60, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100, "magic" = 60, "wound" = 65)
|
||||
armor = list(MELEE = 50, BULLET = 70, LASER = 0, ENERGY = 0, BOMB = 60, BIO = 0, RAD = 0, FIRE = 100, ACID = 100, MAGIC = 60, WOUND = 65)
|
||||
|
||||
/obj/item/clothing/head/helmet/clockwork/Initialize()
|
||||
/obj/item/clothing/head/helmet/clockwork/Initialize(mapload)
|
||||
. = ..()
|
||||
ratvar_act()
|
||||
GLOB.all_clockwork_objects += src
|
||||
@@ -68,11 +68,11 @@
|
||||
cold_protection = CHEST|GROIN|LEGS
|
||||
heat_protection = CHEST|GROIN|LEGS
|
||||
resistance_flags = FIRE_PROOF | ACID_PROOF
|
||||
armor = list("melee" = 60, "bullet" = 70, "laser" = 0, "energy" = 0, "bomb" = 60, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100, "magic" = 60, "wound" = 65)
|
||||
armor = list(MELEE = 60, BULLET = 70, LASER = 0, ENERGY = 0, BOMB = 60, BIO = 0, RAD = 0, FIRE = 100, ACID = 100, MAGIC = 60, WOUND = 65)
|
||||
allowed = list(/obj/item/clockwork, /obj/item/clothing/glasses/wraith_spectacles, /obj/item/clothing/glasses/judicial_visor, /obj/item/mmi/posibrain/soul_vessel, /obj/item/reagent_containers/food/drinks/bottle/holyoil)
|
||||
mutantrace_variation = STYLE_DIGITIGRADE|STYLE_SNEK_TAURIC
|
||||
|
||||
/obj/item/clothing/suit/armor/clockwork/Initialize()
|
||||
/obj/item/clothing/suit/armor/clockwork/Initialize(mapload)
|
||||
. = ..()
|
||||
ratvar_act()
|
||||
GLOB.all_clockwork_objects += src
|
||||
@@ -135,9 +135,9 @@
|
||||
siemens_coefficient = 0
|
||||
permeability_coefficient = 0.05
|
||||
resistance_flags = FIRE_PROOF | ACID_PROOF
|
||||
armor = list("melee" = 80, "bullet" = 70, "laser" = 0, "energy" = 0, "bomb" = 60, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100, "magic" = 70, "wound" = 85)
|
||||
armor = list(MELEE = 80, BULLET = 70, LASER = 0, ENERGY = 0, BOMB = 60, BIO = 0, RAD = 0, FIRE = 100, ACID = 100, MAGIC = 70, WOUND = 85)
|
||||
|
||||
/obj/item/clothing/gloves/clockwork/Initialize()
|
||||
/obj/item/clothing/gloves/clockwork/Initialize(mapload)
|
||||
. = ..()
|
||||
ratvar_act()
|
||||
GLOB.all_clockwork_objects += src
|
||||
@@ -190,7 +190,7 @@
|
||||
equip_delay_other = 30
|
||||
resistance_flags = FIRE_PROOF | ACID_PROOF
|
||||
|
||||
/obj/item/clothing/shoes/clockwork/Initialize()
|
||||
/obj/item/clothing/shoes/clockwork/Initialize(mapload)
|
||||
. = ..()
|
||||
ratvar_act()
|
||||
GLOB.all_clockwork_objects += src
|
||||
|
||||
@@ -106,7 +106,7 @@
|
||||
if(!GLOB.ratvar_awakens)
|
||||
SStgui.close_uis(src)
|
||||
|
||||
/obj/item/clockwork/slab/Initialize()
|
||||
/obj/item/clockwork/slab/Initialize(mapload)
|
||||
. = ..()
|
||||
update_slab_info(src)
|
||||
START_PROCESSING(SSobj, src)
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
var/creation_message = "<span class='brass'>The chassis shudders and hums to life!</span>"
|
||||
var/construct_type //The construct this shell will create
|
||||
|
||||
/obj/item/clockwork/construct_chassis/Initialize()
|
||||
/obj/item/clockwork/construct_chassis/Initialize(mapload)
|
||||
. = ..()
|
||||
var/area/A = get_area(src)
|
||||
if(A && construct_type)
|
||||
@@ -92,7 +92,7 @@
|
||||
var/infinite_resources = FALSE //No.
|
||||
var/static/obj/item/seasonal_hat //Share it with all other scarabs, since we're from the same cult!
|
||||
|
||||
/obj/item/clockwork/construct_chassis/cogscarab/Initialize()
|
||||
/obj/item/clockwork/construct_chassis/cogscarab/Initialize(mapload)
|
||||
. = ..()
|
||||
if(GLOB.servants_active)
|
||||
infinite_resources = FALSE //This check is relatively irrelevant until *someone* makes the infinite resources var default to true again, so, leaving it in.
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
item_flags = NOBLUDGEON
|
||||
var/obj/machinery/power/apc/apc
|
||||
|
||||
/obj/item/clockwork/integration_cog/Initialize()
|
||||
/obj/item/clockwork/integration_cog/Initialize(mapload)
|
||||
. = ..()
|
||||
transform *= 0.5 //little cog!
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
var/recharge_cooldown = 300 //divided by 10 if ratvar is alive
|
||||
actions_types = list(/datum/action/item_action/clock/toggle_visor)
|
||||
|
||||
/obj/item/clothing/glasses/judicial_visor/Initialize()
|
||||
/obj/item/clothing/glasses/judicial_visor/Initialize(mapload)
|
||||
. = ..()
|
||||
GLOB.all_clockwork_objects += src
|
||||
blaster = new(src)
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
force_replace_ai_name = TRUE
|
||||
overrides_aicore_laws = TRUE
|
||||
|
||||
/obj/item/mmi/posibrain/soul_vessel/Initialize()
|
||||
/obj/item/mmi/posibrain/soul_vessel/Initialize(mapload)
|
||||
. = ..()
|
||||
radio.on = FALSE
|
||||
laws = new /datum/ai_laws/ratvar()
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
visor_vars_to_toggle = NONE //we don't actually toggle anything we just set it
|
||||
tint = 3 //this'll get reset, but it won't handle vision updates properly otherwise
|
||||
|
||||
/obj/item/clothing/glasses/wraith_spectacles/Initialize()
|
||||
/obj/item/clothing/glasses/wraith_spectacles/Initialize(mapload)
|
||||
. = ..()
|
||||
GLOB.all_clockwork_objects += src
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
var/playstyle_string = "<span class='heavy_brass'>You are a bug, yell at whoever spawned you!</span>"
|
||||
var/empower_string = "<span class='heavy_brass'>You have nothing to empower, yell at the coders!</span>" //Shown to the mob when the herald beacon activates
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/Initialize()
|
||||
/mob/living/simple_animal/hostile/clockwork/Initialize(mapload)
|
||||
. = ..()
|
||||
update_values()
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
Stay near your host to protect and heal them; being too far from your host will rapidly cause you massive damage. Recall to your host if you are too weak and believe you cannot continue \
|
||||
fighting safely. As a final note, you should probably avoid harming any fellow servants of Ratvar.</span>"
|
||||
|
||||
/mob/living/simple_animal/hostile/clockwork/guardian/Initialize()
|
||||
/mob/living/simple_animal/hostile/clockwork/guardian/Initialize(mapload)
|
||||
. = ..()
|
||||
true_name = pick(possible_true_names)
|
||||
|
||||
|
||||
@@ -310,7 +310,7 @@ Judgement 80k power or nine converts
|
||||
var/datum/progressbar/progbar
|
||||
|
||||
/datum/clockwork_scripture/ranged_ability/Destroy()
|
||||
qdel(progbar)
|
||||
progbar.end_progress()
|
||||
return ..()
|
||||
|
||||
/datum/clockwork_scripture/ranged_ability/scripture_effects()
|
||||
@@ -333,7 +333,7 @@ Judgement 80k power or nine converts
|
||||
(allow_mobility || (can_recite() && T == get_turf(invoker))))
|
||||
if(progbar)
|
||||
if(slab.slab_ability.in_progress)
|
||||
qdel(progbar)
|
||||
progbar.end_progress()
|
||||
else
|
||||
progbar.update(end_time - world.time)
|
||||
stoplag(1)
|
||||
|
||||
@@ -207,20 +207,20 @@
|
||||
/datum/clockwork_scripture/create_object/summon_arbiter
|
||||
descname = "Powerful Assault Mech"
|
||||
name = "Summon Neovgre, the Anima Bulwark"
|
||||
desc = "Calls forth the mighty Anima Bulwark, a mech with superior defensive and offensive capabilities. It will \
|
||||
desc = "Calls forth the mighty Anima Bulwark, a two-person mech with superior defensive and offensive capabilities. It will \
|
||||
steadily regenerate HP and triple its regeneration speed while standing \
|
||||
on a clockwork tile. It will automatically draw power from nearby sigils of \
|
||||
transmission should the need arise. Its Arbiter laser cannon can decimate foes \
|
||||
from a range and is capable of smashing through any barrier presented to it. \
|
||||
Be warned however, choosing to pilot Neovgre is a lifetime commitment, once you are \
|
||||
in you cannot leave and when it is destroyed it will explode catastrophically, with you inside."
|
||||
Be warned however, choosing to pilot or man Neovgre is a lifetime commitment, once you are \
|
||||
in you cannot leave and when it is destroyed it will explode catastrophically, with everyone inside."
|
||||
invocations = list("By the strength of the alloy...!!", "...call forth the Arbiter!!")
|
||||
channel_time = 200 // This is a strong fucking weapon, 20 seconds channel time is getting off light I tell ya.
|
||||
power_cost = 75000 //75 KW
|
||||
usage_tip = "Neovgre is a powerful mech that will crush your enemies!"
|
||||
invokers_required = 5
|
||||
multiple_invokers_used = TRUE
|
||||
object_path = /obj/mecha/combat/neovgre
|
||||
object_path = /obj/vehicle/sealed/mecha/combat/neovgre
|
||||
tier = SCRIPTURE_APPLICATION
|
||||
primary_component = BELLIGERENT_EYE
|
||||
sort_priority = 8
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
var/construction_value = 0 //How much value the structure contributes to the overall "power" of the structures on the station
|
||||
var/immune_to_servant_attacks = FALSE //if we ignore attacks from servants of ratvar instead of taking damage
|
||||
|
||||
/obj/structure/destructible/clockwork/Initialize()
|
||||
/obj/structure/destructible/clockwork/Initialize(mapload)
|
||||
. = ..()
|
||||
change_construction_value(construction_value)
|
||||
GLOB.all_clockwork_objects += src
|
||||
@@ -72,11 +72,6 @@
|
||||
return FALSE
|
||||
return ..()
|
||||
|
||||
/obj/structure/destructible/clockwork/mech_melee_attack(obj/mecha/M)
|
||||
if(M.occupant && is_servant_of_ratvar(M.occupant) && immune_to_servant_attacks)
|
||||
return FALSE
|
||||
return ..()
|
||||
|
||||
/obj/structure/destructible/clockwork/proc/get_efficiency_mod()
|
||||
if(GLOB.ratvar_awakens)
|
||||
return 2
|
||||
@@ -134,7 +129,7 @@
|
||||
density = FALSE
|
||||
resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF | FREEZE_PROOF
|
||||
|
||||
/obj/structure/destructible/clockwork/massive/Initialize()
|
||||
/obj/structure/destructible/clockwork/massive/Initialize(mapload)
|
||||
. = ..()
|
||||
GLOB.poi_list += src
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
clockwork_desc = "A trap that shouldn't exist, and you should report this as a bug."
|
||||
var/list/wired_to
|
||||
|
||||
/obj/structure/destructible/clockwork/trap/Initialize()
|
||||
/obj/structure/destructible/clockwork/trap/Initialize(mapload)
|
||||
. = ..()
|
||||
wired_to = list()
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
break_message = "<span class='warning'>The trigger breaks apart!</span>"
|
||||
density = FALSE
|
||||
|
||||
/obj/structure/destructible/clockwork/trap/trigger/Initialize()
|
||||
/obj/structure/destructible/clockwork/trap/trigger/Initialize(mapload)
|
||||
. = ..()
|
||||
for(var/obj/structure/destructible/clockwork/trap/T in get_turf(src))
|
||||
if(!istype(T, /obj/structure/destructible/clockwork/trap/trigger))
|
||||
|
||||
+3
-3
@@ -33,7 +33,7 @@
|
||||
var/recalls_remaining = 1
|
||||
var/recalling
|
||||
|
||||
/obj/structure/destructible/clockwork/massive/celestial_gateway/Initialize()
|
||||
/obj/structure/destructible/clockwork/massive/celestial_gateway/Initialize(mapload)
|
||||
. = ..()
|
||||
INVOKE_ASYNC(src, .proc/spawn_animation)
|
||||
glow = new(get_turf(src))
|
||||
@@ -199,7 +199,7 @@
|
||||
|
||||
/obj/structure/destructible/clockwork/massive/celestial_gateway/ex_act(severity, target, origin)
|
||||
var/damage = max((obj_integrity * 0.7) / severity, 100) //requires multiple bombs to take down
|
||||
take_damage(damage, BRUTE, "bomb", 0)
|
||||
take_damage(damage, BRUTE, BOMB, 0)
|
||||
|
||||
/obj/structure/destructible/clockwork/massive/celestial_gateway/proc/get_arrival_time(var/deciseconds = TRUE)
|
||||
if(seconds_until_activation)
|
||||
@@ -301,7 +301,7 @@
|
||||
for(var/obj/O in orange(1, src))
|
||||
if(!O.pulledby && !iseffect(O) && O.density)
|
||||
if(!step_away(O, src, 2) || get_dist(O, src) < 2)
|
||||
O.take_damage(50, BURN, "bomb")
|
||||
O.take_damage(50, BURN, BOMB)
|
||||
O.update_icon()
|
||||
|
||||
conversion_pulse() //Converts the nearby area into clockcult-style
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
var/hierophant_cost = MIN_CLOCKCULT_POWER //how much it costs to broadcast with large text
|
||||
var/gateway_cost = 2000 //how much it costs to open a gateway
|
||||
|
||||
/obj/structure/destructible/clockwork/powered/clockwork_obelisk/Initialize()
|
||||
/obj/structure/destructible/clockwork/powered/clockwork_obelisk/Initialize(mapload)
|
||||
. = ..()
|
||||
toggle(1)
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
var/votes_needed = 0 //How many votes are needed to activate the beacon
|
||||
var/available = FALSE //If the beacon can be used
|
||||
|
||||
/obj/structure/destructible/clockwork/heralds_beacon/Initialize()
|
||||
/obj/structure/destructible/clockwork/heralds_beacon/Initialize(mapload)
|
||||
. = ..()
|
||||
voters = list()
|
||||
START_PROCESSING(SSprocessing, src)
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
var/atom/movable/target
|
||||
var/list/idle_messages = list(" sulkily glares around.", " lazily drifts from side to side.", " looks around for something to burn.", " slowly turns in circles.")
|
||||
|
||||
/obj/structure/destructible/clockwork/ocular_warden/Initialize()
|
||||
/obj/structure/destructible/clockwork/ocular_warden/Initialize(mapload)
|
||||
. = ..()
|
||||
START_PROCESSING(SSfastprocess, src)
|
||||
|
||||
@@ -76,8 +76,8 @@
|
||||
L.adjust_fire_stacks(damage_per_tick)
|
||||
L.IgniteMob()
|
||||
else if(ismecha(target))
|
||||
var/obj/mecha/M = target
|
||||
M.take_damage(damage_per_tick * get_efficiency_mod(), BURN, "melee", 1, get_dir(src, M))
|
||||
var/obj/vehicle/sealed/mecha/M = target
|
||||
M.take_damage(damage_per_tick * get_efficiency_mod(), BURN, MELEE, 1, get_dir(src, M))
|
||||
|
||||
new /obj/effect/temp_visual/ratvar/ocular_warden(get_turf(target))
|
||||
|
||||
@@ -91,8 +91,8 @@
|
||||
var/mob/living/L = target
|
||||
to_chat(L, "<span class='neovgre'>\"I SEE YOU!\"</span>\n<span class='userdanger'>[src]'s gaze [GLOB.ratvar_awakens ? "melts you alive" : "burns you"]!</span>")
|
||||
else if(ismecha(target))
|
||||
var/obj/mecha/M = target
|
||||
to_chat(M.occupant, "<span class='neovgre'>\"I SEE YOU!\"</span>" )
|
||||
var/obj/vehicle/sealed/mecha/M = target
|
||||
to_chat(M.occupants, "<span class='neovgre'>\"I SEE YOU!\"</span>" )
|
||||
else if(prob(0.5)) //Extremely low chance because of how fast the subsystem it uses processes
|
||||
if(prob(50))
|
||||
visible_message("<span class='notice'>[src][pick(idle_messages)]</span>")
|
||||
@@ -131,8 +131,11 @@
|
||||
. += L
|
||||
var/list/viewcache = list()
|
||||
for(var/N in GLOB.mechas_list)
|
||||
var/obj/mecha/M = N
|
||||
if(get_dist(M, src) <= sight_range && M.occupant && !is_servant_of_ratvar(M.occupant))
|
||||
var/obj/vehicle/sealed/mecha/M = N
|
||||
if(get_dist(M, src) <= sight_range && LAZYLEN(M.occupants))
|
||||
for(var/mob/living/MB in M.occupants)
|
||||
if(is_servant_of_ratvar(MB))
|
||||
return
|
||||
if(!length(viewcache))
|
||||
for (var/obj/Z in view(sight_range, src))
|
||||
viewcache += Z
|
||||
|
||||
+1
-1
@@ -17,7 +17,7 @@
|
||||
var/convert_range = 10
|
||||
obj_flags = CAN_BE_HIT | DANGEROUS_POSSESSION
|
||||
|
||||
/obj/structure/destructible/clockwork/massive/ratvar/Initialize()
|
||||
/obj/structure/destructible/clockwork/massive/ratvar/Initialize(mapload)
|
||||
. = ..()
|
||||
GLOB.ratvar_awakens++
|
||||
for(var/obj/O in GLOB.all_clockwork_objects)
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
var/ini_dir = null
|
||||
|
||||
/obj/structure/destructible/clockwork/reflector/Initialize()
|
||||
/obj/structure/destructible/clockwork/reflector/Initialize(mapload)
|
||||
. = ..()
|
||||
allowed_projectile_typecache = typecacheof(allowed_projectile_typecache)
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
light_color = "#DAAA18"
|
||||
var/star_light_star_bright = FALSE //If this stargazer can see starlight
|
||||
|
||||
/obj/structure/destructible/clockwork/stargazer/Initialize()
|
||||
/obj/structure/destructible/clockwork/stargazer/Initialize(mapload)
|
||||
. = ..()
|
||||
START_PROCESSING(SSprocessing, src)
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
debris = list()
|
||||
var/timerid
|
||||
|
||||
/obj/structure/destructible/clockwork/taunting_trail/Initialize()
|
||||
/obj/structure/destructible/clockwork/taunting_trail/Initialize(mapload)
|
||||
. = ..()
|
||||
timerid = QDEL_IN(src, 15)
|
||||
var/obj/structure/destructible/clockwork/taunting_trail/Tt = locate(/obj/structure/destructible/clockwork/taunting_trail) in loc
|
||||
|
||||
+6
-4
@@ -9,12 +9,14 @@
|
||||
|
||||
/obj/structure/destructible/clockwork/trap/trigger/pressure_sensor/mech/Crossed(atom/movable/AM)
|
||||
. = ..()
|
||||
if(!istype(AM,/obj/mecha/))
|
||||
if(!istype(AM,/obj/vehicle/sealed/mecha/))
|
||||
return
|
||||
|
||||
var/obj/mecha/M = AM
|
||||
if(M.occupant && is_servant_of_ratvar(M.occupant))
|
||||
return
|
||||
var/obj/vehicle/sealed/mecha/M = AM
|
||||
if(LAZYLEN(M.occupants))
|
||||
for(var/mob/living/MB in M.occupants)
|
||||
if(is_servant_of_ratvar(MB))
|
||||
return
|
||||
audible_message("<i>*click*</i>")
|
||||
playsound(src, 'sound/items/screwdriver2.ogg', 50, TRUE)
|
||||
activate()
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
var/wiggle_wiggle
|
||||
var/mutable_appearance/impale_overlay //This is applied to any mob impaled so that they visibly have the skewer coming through their chest
|
||||
|
||||
/obj/structure/destructible/clockwork/trap/brass_skewer/Initialize()
|
||||
/obj/structure/destructible/clockwork/trap/brass_skewer/Initialize(mapload)
|
||||
. = ..()
|
||||
START_PROCESSING(SSfastprocess, src)
|
||||
|
||||
@@ -68,9 +68,9 @@
|
||||
mouse_opacity = MOUSE_OPACITY_OPAQUE //So players can interact with the tile it's on to pull them off
|
||||
buckle_mob(squirrel, TRUE)
|
||||
else
|
||||
var/obj/mecha/M = locate() in get_turf(src)
|
||||
var/obj/vehicle/sealed/mecha/M = locate() in get_turf(src)
|
||||
if(M)
|
||||
M.take_damage(50,BRUTE,"melee")
|
||||
M.take_damage(50,BRUTE,MELEE)
|
||||
M.visible_message("<span class='danger'>A massive brass spike erupts from the ground, penetrating \the [M] and shattering the trap into pieces!</span>")
|
||||
addtimer(CALLBACK(src, .proc/take_damage, max_integrity), 1)
|
||||
else
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
/obj/structure/destructible/clockwork/wall_gear/displaced
|
||||
anchored = FALSE
|
||||
|
||||
/obj/structure/destructible/clockwork/wall_gear/Initialize()
|
||||
/obj/structure/destructible/clockwork/wall_gear/Initialize(mapload)
|
||||
. = ..()
|
||||
new /obj/effect/temp_visual/ratvar/gear(get_turf(src))
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
armour_penetration = 35
|
||||
actions_types = list(/datum/action/item_action/cult_dagger)
|
||||
|
||||
/obj/item/melee/cultblade/dagger/Initialize()
|
||||
/obj/item/melee/cultblade/dagger/Initialize(mapload)
|
||||
. = ..()
|
||||
var/image/I = image(icon = 'icons/effects/blood.dmi' , icon_state = null, loc = src)
|
||||
I.override = TRUE
|
||||
@@ -62,7 +62,7 @@
|
||||
hitsound = 'sound/weapons/bladeslice.ogg'
|
||||
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "rended")
|
||||
|
||||
/obj/item/melee/cultblade/Initialize()
|
||||
/obj/item/melee/cultblade/Initialize(mapload)
|
||||
. = ..()
|
||||
AddComponent(/datum/component/butchering, 40, 100)
|
||||
AddElement(/datum/element/sword_point)
|
||||
@@ -87,7 +87,7 @@
|
||||
item_flags = NEEDS_PERMIT | DROPDEL
|
||||
flags_1 = NONE
|
||||
|
||||
/obj/item/melee/cultblade/ghost/Initialize()
|
||||
/obj/item/melee/cultblade/ghost/Initialize(mapload)
|
||||
. = ..()
|
||||
ADD_TRAIT(src, TRAIT_NODROP, CULT_TRAIT)
|
||||
|
||||
@@ -131,7 +131,7 @@
|
||||
var/spin_cooldown = 250
|
||||
var/dash_toggled = TRUE
|
||||
|
||||
/obj/item/cult_bastard/Initialize()
|
||||
/obj/item/cult_bastard/Initialize(mapload)
|
||||
. = ..()
|
||||
set_light(4)
|
||||
jaunt = new(src)
|
||||
@@ -297,7 +297,7 @@
|
||||
desc = "A torn, dust-caked hood. Strange letters line the inside."
|
||||
flags_inv = HIDEFACE|HIDEHAIR|HIDEEARS
|
||||
flags_cover = HEADCOVERSEYES
|
||||
armor = list("melee" = 40, "bullet" = 30, "laser" = 40,"energy" = 20, "bomb" = 65, "bio" = 10, "rad" = 0, "fire" = 10, "acid" = 10)
|
||||
armor = list(MELEE = 40, BULLET = 30, LASER = 40,ENERGY = 20, BOMB = 65, BIO = 10, RAD = 0, FIRE = 10, ACID = 10)
|
||||
cold_protection = HEAD
|
||||
min_cold_protection_temperature = HELMET_MIN_TEMP_PROTECT
|
||||
heat_protection = HEAD
|
||||
@@ -310,7 +310,7 @@
|
||||
item_state = "cultrobes"
|
||||
body_parts_covered = CHEST|GROIN|LEGS|ARMS
|
||||
allowed = list(/obj/item/tome, /obj/item/melee/cultblade)
|
||||
armor = list("melee" = 40, "bullet" = 30, "laser" = 40,"energy" = 20, "bomb" = 65, "bio" = 10, "rad" = 0, "fire" = 10, "acid" = 10)
|
||||
armor = list(MELEE = 40, BULLET = 30, LASER = 40,ENERGY = 20, BOMB = 65, BIO = 10, RAD = 0, FIRE = 10, ACID = 10)
|
||||
flags_inv = HIDEJUMPSUIT
|
||||
cold_protection = CHEST|GROIN|LEGS|ARMS
|
||||
min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT
|
||||
@@ -326,7 +326,7 @@
|
||||
/obj/item/clothing/head/culthood/alt/ghost
|
||||
item_flags = DROPDEL
|
||||
|
||||
/obj/item/clothing/head/culthood/alt/ghost/Initialize()
|
||||
/obj/item/clothing/head/culthood/alt/ghost/Initialize(mapload)
|
||||
. = ..()
|
||||
ADD_TRAIT(src, TRAIT_NODROP, CULT_TRAIT)
|
||||
|
||||
@@ -340,7 +340,7 @@
|
||||
/obj/item/clothing/suit/cultrobes/alt/ghost
|
||||
item_flags = DROPDEL
|
||||
|
||||
/obj/item/clothing/suit/cultrobes/alt/ghost/Initialize()
|
||||
/obj/item/clothing/suit/cultrobes/alt/ghost/Initialize(mapload)
|
||||
. = ..()
|
||||
ADD_TRAIT(src, TRAIT_NODROP, CULT_TRAIT)
|
||||
|
||||
@@ -350,7 +350,7 @@
|
||||
item_state = "magus"
|
||||
desc = "A helm worn by the followers of Nar'Sie."
|
||||
flags_inv = HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDEEARS|HIDEEYES|HIDESNOUT
|
||||
armor = list("melee" = 30, "bullet" = 30, "laser" = 30,"energy" = 20, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 10, "acid" = 10)
|
||||
armor = list(MELEE = 30, BULLET = 30, LASER = 30,ENERGY = 20, BOMB = 0, BIO = 0, RAD = 0, FIRE = 10, ACID = 10)
|
||||
flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH
|
||||
mutantrace_variation = STYLE_MUZZLE
|
||||
|
||||
@@ -361,7 +361,7 @@
|
||||
item_state = "magusred"
|
||||
body_parts_covered = CHEST|GROIN|LEGS|ARMS
|
||||
allowed = list(/obj/item/tome, /obj/item/melee/cultblade)
|
||||
armor = list("melee" = 50, "bullet" = 30, "laser" = 50,"energy" = 20, "bomb" = 25, "bio" = 10, "rad" = 0, "fire" = 10, "acid" = 10)
|
||||
armor = list(MELEE = 50, BULLET = 30, LASER = 50,ENERGY = 20, BOMB = 25, BIO = 10, RAD = 0, FIRE = 10, ACID = 10)
|
||||
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
|
||||
|
||||
/obj/item/clothing/head/helmet/space/hardsuit/cult
|
||||
@@ -369,7 +369,7 @@
|
||||
desc = "A heavily-armored helmet worn by warriors of the Nar'Sien cult. It can withstand hard vacuum."
|
||||
icon_state = "cult_helmet"
|
||||
item_state = "cult_helmet"
|
||||
armor = list("melee" = 60, "bullet" = 50, "laser" = 30,"energy" = 15, "bomb" = 30, "bio" = 30, "rad" = 30, "fire" = 40, "acid" = 75)
|
||||
armor = list(MELEE = 60, BULLET = 50, LASER = 30,ENERGY = 15, BOMB = 30, BIO = 30, RAD = 30, FIRE = 40, ACID = 75)
|
||||
brightness_on = 0
|
||||
actions_types = list()
|
||||
|
||||
@@ -385,7 +385,7 @@
|
||||
desc = "A heavily-armored exosuit worn by warriors of the Nar'Sien cult. It can withstand hard vacuum."
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
allowed = list(/obj/item/tome, /obj/item/melee/cultblade, /obj/item/tank/internals/)
|
||||
armor = list("melee" = 70, "bullet" = 50, "laser" = 30,"energy" = 15, "bomb" = 30, "bio" = 30, "rad" = 30, "fire" = 40, "acid" = 75)
|
||||
armor = list(MELEE = 70, BULLET = 50, LASER = 30,ENERGY = 15, BOMB = 30, BIO = 30, RAD = 30, FIRE = 40, ACID = 75)
|
||||
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/cult
|
||||
|
||||
/obj/item/clothing/suit/space/hardsuit/cult/ComponentInitialize()
|
||||
@@ -413,7 +413,7 @@
|
||||
icon_state = "cult_armor"
|
||||
item_state = "cult_armor"
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
armor = list("melee" = 50, "bullet" = 40, "laser" = 50,"energy" = 30, "bomb" = 50, "bio" = 30, "rad" = 30, "fire" = 50, "acid" = 60)
|
||||
armor = list(MELEE = 50, BULLET = 40, LASER = 50,ENERGY = 30, BOMB = 50, BIO = 30, RAD = 30, FIRE = 50, ACID = 60)
|
||||
body_parts_covered = CHEST|GROIN|LEGS|ARMS
|
||||
allowed = list(/obj/item/tome, /obj/item/melee/cultblade)
|
||||
var/current_charges = 3
|
||||
@@ -423,7 +423,7 @@
|
||||
name = "empowered cultist armor"
|
||||
desc = "Empowered garb which creates a powerful shield around the user."
|
||||
icon_state = "cult_hoodalt"
|
||||
armor = list("melee" = 50, "bullet" = 40, "laser" = 50,"energy" = 30, "bomb" = 50, "bio" = 30, "rad" = 30, "fire" = 50, "acid" = 50)
|
||||
armor = list(MELEE = 50, BULLET = 40, LASER = 50,ENERGY = 30, BOMB = 50, BIO = 30, RAD = 30, FIRE = 50, ACID = 50)
|
||||
body_parts_covered = HEAD
|
||||
flags_inv = HIDEHAIR|HIDEFACE|HIDEEARS
|
||||
|
||||
@@ -473,7 +473,7 @@
|
||||
flags_inv = HIDEJUMPSUIT
|
||||
allowed = list(/obj/item/tome, /obj/item/melee/cultblade)
|
||||
body_parts_covered = CHEST|GROIN|LEGS|ARMS
|
||||
armor = list("melee" = -50, "bullet" = -50, "laser" = -50,"energy" = -50, "bomb" = -50, "bio" = -50, "rad" = -50, "fire" = 0, "acid" = 0)
|
||||
armor = list(MELEE = -50, BULLET = -50, LASER = -50,ENERGY = -50, BOMB = -50, BIO = -50, RAD = -50, FIRE = 0, ACID = 0)
|
||||
slowdown = -1
|
||||
hoodtype = /obj/item/clothing/head/hooded/berserkerhood
|
||||
|
||||
@@ -483,7 +483,7 @@
|
||||
icon_state = "culthood"
|
||||
body_parts_covered = HEAD
|
||||
flags_inv = HIDEHAIR|HIDEFACE|HIDEEARS
|
||||
armor = list("melee" = -50, "bullet" = -50, "laser" = -50, "energy" = -50, "bomb" = -50, "bio" = -50, "rad" = -50, "fire" = 0, "acid" = 0)
|
||||
armor = list(MELEE = -50, BULLET = -50, LASER = -50, ENERGY = -50, BOMB = -50, BIO = -50, RAD = -50, FIRE = 0, ACID = 0)
|
||||
|
||||
/obj/item/clothing/suit/hooded/cultrobes/berserker/equipped(mob/living/user, slot)
|
||||
..()
|
||||
@@ -716,7 +716,7 @@
|
||||
var/wielded = FALSE // track wielded status on item
|
||||
|
||||
|
||||
/obj/item/cult_spear/Initialize()
|
||||
/obj/item/cult_spear/Initialize(mapload)
|
||||
. = ..()
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_WIELD, .proc/on_wield)
|
||||
RegisterSignal(src, COMSIG_TWOHANDED_UNWIELD, .proc/on_unwield)
|
||||
@@ -874,7 +874,7 @@
|
||||
var/firing = FALSE
|
||||
var/angle
|
||||
|
||||
/obj/item/blood_beam/Initialize()
|
||||
/obj/item/blood_beam/Initialize(mapload)
|
||||
. = ..()
|
||||
ADD_TRAIT(src, TRAIT_NODROP, CULT_TRAIT)
|
||||
|
||||
|
||||
@@ -89,7 +89,7 @@
|
||||
var/static/image/radial_shell = image(icon = 'icons/obj/wizard.dmi', icon_state = "construct-cult")
|
||||
var/static/image/radial_unholy_water = image(icon = 'icons/obj/drinks.dmi', icon_state = "holyflask")
|
||||
|
||||
/obj/structure/destructible/cult/talisman/Initialize()
|
||||
/obj/structure/destructible/cult/talisman/Initialize(mapload)
|
||||
. = ..()
|
||||
radial_unholy_water.color = "#333333"
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ This file contains the cult dagger and rune list code
|
||||
*/
|
||||
|
||||
|
||||
/obj/item/melee/cultblade/dagger/Initialize()
|
||||
/obj/item/melee/cultblade/dagger/Initialize(mapload)
|
||||
. = ..()
|
||||
if(!LAZYLEN(GLOB.rune_types))
|
||||
GLOB.rune_types = list()
|
||||
|
||||
@@ -832,7 +832,7 @@ structure_check() searches for nearby cultist structures required for the invoca
|
||||
var/ghost_limit = 3
|
||||
var/ghosts = 0
|
||||
|
||||
/obj/effect/rune/manifest/Initialize()
|
||||
/obj/effect/rune/manifest/Initialize(mapload)
|
||||
. = ..()
|
||||
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
Though you are not obligated to help, perhaps by aiding a higher ranking devil, you might just get a promotion. However, you are incapable \
|
||||
of intentionally harming a fellow devil.</B>"
|
||||
|
||||
/mob/living/simple_animal/imp/Initialize()
|
||||
/mob/living/simple_animal/imp/Initialize(mapload)
|
||||
..()
|
||||
boost = world.time + 30
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
var/mob/living/oldform
|
||||
var/list/devil_overlays[DEVIL_TOTAL_LAYERS]
|
||||
|
||||
/mob/living/carbon/true_devil/Initialize()
|
||||
/mob/living/carbon/true_devil/Initialize(mapload)
|
||||
create_bodyparts() //initialize bodyparts
|
||||
create_internal_organs()
|
||||
grant_all_languages()
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
///Used mainly for summoning ritual to prevent spamming the rune to create millions of monsters.
|
||||
var/is_in_use = FALSE
|
||||
|
||||
/obj/effect/eldritch/Initialize()
|
||||
/obj/effect/eldritch/Initialize(mapload)
|
||||
. = ..()
|
||||
var/image/I = image(icon = 'icons/effects/eldritch.dmi', icon_state = null, loc = src)
|
||||
I.override = TRUE
|
||||
@@ -216,7 +216,7 @@
|
||||
resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF
|
||||
alpha = 0
|
||||
|
||||
/obj/effect/broken_illusion/Initialize()
|
||||
/obj/effect/broken_illusion/Initialize(mapload)
|
||||
. = ..()
|
||||
addtimer(CALLBACK(src,.proc/show_presence),15 SECONDS)
|
||||
addtimer(CALLBACK(src,.proc/remove_presence),195 SECONDS)
|
||||
@@ -295,7 +295,7 @@
|
||||
///Tracked image
|
||||
var/image/img
|
||||
|
||||
/obj/effect/reality_smash/Initialize()
|
||||
/obj/effect/reality_smash/Initialize(mapload)
|
||||
. = ..()
|
||||
GLOB.reality_smash_track.smashes += src
|
||||
img = image(icon, src, image_state, OBJ_LAYER)
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
var/mob/living/carbon/human/target
|
||||
var/datum/antagonist/heretic/sac_targetter //The heretic who used this to acquire the current target - gets cleared when target gets sacrificed.
|
||||
|
||||
/obj/item/living_heart/Initialize()
|
||||
/obj/item/living_heart/Initialize(mapload)
|
||||
. = ..()
|
||||
GLOB.living_heart_cache.Add(src) //Add is better than +=.
|
||||
|
||||
@@ -177,7 +177,7 @@
|
||||
allowed = list(/obj/item/melee/sickly_blade, /obj/item/forbidden_book, /obj/item/living_heart)
|
||||
hoodtype = /obj/item/clothing/head/hooded/cult_hoodie/eldritch
|
||||
// slightly better than normal cult robes
|
||||
armor = list("melee" = 50, "bullet" = 50, "laser" = 50,"energy" = 50, "bomb" = 35, "bio" = 20, "rad" = 0, "fire" = 20, "acid" = 20)
|
||||
armor = list(MELEE = 50, BULLET = 50, LASER = 50,ENERGY = 50, BOMB = 35, BIO = 20, RAD = 0, FIRE = 20, ACID = 20)
|
||||
mutantrace_variation = STYLE_DIGITIGRADE|STYLE_NO_ANTHRO_ICON
|
||||
|
||||
/obj/item/reagent_containers/glass/beaker/eldritch
|
||||
@@ -193,7 +193,7 @@
|
||||
flags_inv = NONE
|
||||
flags_cover = NONE
|
||||
desc = "Black like tar, doesn't reflect any light. Runic symbols line the outside, with each flash you lose comprehension of what you are seeing."
|
||||
armor = list("melee" = 30, "bullet" = 30, "laser" = 30,"energy" = 30, "bomb" = 15, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
|
||||
armor = list(MELEE = 30, BULLET = 30, LASER = 30,ENERGY = 30, BOMB = 15, BIO = 0, RAD = 0, FIRE = 0, ACID = 0)
|
||||
obj_flags = NONE | EXAMINE_SKIP
|
||||
|
||||
/obj/item/clothing/suit/hooded/cultrobes/void
|
||||
@@ -205,7 +205,7 @@
|
||||
hoodtype = /obj/item/clothing/head/hooded/cult_hoodie/void
|
||||
flags_inv = NONE
|
||||
// slightly worse than normal cult robes
|
||||
armor = list("melee" = 30, "bullet" = 30, "laser" = 30,"energy" = 30, "bomb" = 15, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
|
||||
armor = list(MELEE = 30, BULLET = 30, LASER = 30,ENERGY = 30, BOMB = 15, BIO = 0, RAD = 0, FIRE = 0, ACID = 0)
|
||||
pocket_storage_component_path = /datum/component/storage/concrete/pockets/void_cloak
|
||||
mutantrace_variation = STYLE_DIGITIGRADE|STYLE_NO_ANTHRO_ICON
|
||||
|
||||
@@ -310,7 +310,7 @@
|
||||
. += "This item can carve 'Grasping carving' - when stepped on it causes heavy damage to the legs and stuns for 5 seconds."
|
||||
. += "This item can carve 'Mad carving' - when stepped on it causes dizzyness, jiterryness, temporary blindness, confusion , stuttering and slurring."
|
||||
|
||||
/obj/item/melee/rune_knife/Initialize()
|
||||
/obj/item/melee/rune_knife/Initialize(mapload)
|
||||
. = ..()
|
||||
linked_action = new(src)
|
||||
|
||||
|
||||
@@ -402,11 +402,11 @@
|
||||
new /obj/effect/hotspot(T)
|
||||
T.hotspot_expose(700,50,1)
|
||||
// deals damage to mechs
|
||||
for(var/obj/mecha/M in T.contents)
|
||||
for(var/obj/vehicle/sealed/mecha/M in T.contents)
|
||||
if(M in hit_list)
|
||||
continue
|
||||
hit_list += M
|
||||
M.take_damage(45, BURN, "melee", 1)
|
||||
M.take_damage(45, BURN, MELEE, 1)
|
||||
sleep(1.5)
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/shapeshift/eldritch
|
||||
@@ -702,7 +702,7 @@
|
||||
duration = 1 MINUTES
|
||||
layer = LOW_SIGIL_LAYER
|
||||
|
||||
/obj/effect/temp_visual/glowing_rune/Initialize()
|
||||
/obj/effect/temp_visual/glowing_rune/Initialize(mapload)
|
||||
. = ..()
|
||||
pixel_y = rand(-6,6)
|
||||
pixel_x = rand(-6,6)
|
||||
|
||||
@@ -9,7 +9,7 @@ GLOBAL_LIST_EMPTY(gangster_cell_phones)
|
||||
var/gang_id = "Grove Street Families"
|
||||
var/activated = FALSE
|
||||
|
||||
/obj/item/gangster_cellphone/Initialize()
|
||||
/obj/item/gangster_cellphone/Initialize(mapload)
|
||||
. = ..()
|
||||
GLOB.gangster_cell_phones += src
|
||||
flags_1 |= HEAR_1
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
You can attack any item or dead creature to consume it - creatures will fully restore your health. \
|
||||
Finally, you can restore yourself to your original form while morphed by shift-clicking yourself.</b>"
|
||||
|
||||
/mob/living/simple_animal/hostile/morph/Initialize()
|
||||
/mob/living/simple_animal/hostile/morph/Initialize(mapload)
|
||||
. = ..()
|
||||
src.AddElement(/datum/element/ventcrawling, given_tier = VENTCRAWLER_ALWAYS)
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
var/list/engymodels = list("Default", "Default - Treads", "Heavy", "Sleek", "Marina", "Can", "Spider", "Loader","Handy", "Pup Dozer", "Vale")
|
||||
|
||||
|
||||
/obj/item/borg_chameleon/Initialize()
|
||||
/obj/item/borg_chameleon/Initialize(mapload)
|
||||
. = ..()
|
||||
friendlyName = pick(GLOB.ai_names)
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
var/proper_bomb = TRUE //Please
|
||||
var/obj/effect/countdown/nuclearbomb/countdown
|
||||
|
||||
/obj/machinery/nuclearbomb/Initialize()
|
||||
/obj/machinery/nuclearbomb/Initialize(mapload)
|
||||
. = ..()
|
||||
countdown = new(src)
|
||||
GLOB.nuke_list += src
|
||||
@@ -507,7 +507,7 @@
|
||||
proper_bomb = FALSE
|
||||
var/obj/structure/reagent_dispensers/beerkeg/keg
|
||||
|
||||
/obj/machinery/nuclearbomb/beer/Initialize()
|
||||
/obj/machinery/nuclearbomb/beer/Initialize(mapload)
|
||||
. = ..()
|
||||
keg = new(src)
|
||||
QDEL_NULL(core)
|
||||
@@ -612,14 +612,14 @@ This is here to make the tiles around the station mininuke change when it's arme
|
||||
icon_state = "nucleardisk"
|
||||
persistence_replacement = /obj/item/disk/nuclear/fake
|
||||
max_integrity = 250
|
||||
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100)
|
||||
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 30, BIO = 0, RAD = 0, FIRE = 100, ACID = 100)
|
||||
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF
|
||||
var/fake = FALSE
|
||||
var/turf/lastlocation
|
||||
var/last_disk_move
|
||||
var/process_tick = 0
|
||||
|
||||
/obj/item/disk/nuclear/Initialize()
|
||||
/obj/item/disk/nuclear/Initialize(mapload)
|
||||
. = ..()
|
||||
AddElement(/datum/element/bed_tuckable, 6, -6, 0)
|
||||
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
flags_1 = NONE
|
||||
|
||||
|
||||
/obj/item/pinpointer/syndicate_cyborg/Initialize()
|
||||
/obj/item/pinpointer/syndicate_cyborg/Initialize(mapload)
|
||||
. = ..()
|
||||
ADD_TRAIT(src, TRAIT_NODROP, CYBORG_ITEM_TRAIT)
|
||||
|
||||
@@ -91,7 +91,7 @@
|
||||
target = closest_operative
|
||||
..()
|
||||
|
||||
/obj/item/pinpointer/spider_cyborg/Initialize()
|
||||
/obj/item/pinpointer/spider_cyborg/Initialize(mapload)
|
||||
. = ..()
|
||||
ADD_TRAIT(src, TRAIT_NODROP, CYBORG_ITEM_TRAIT)
|
||||
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
var/slam_mode = FALSE
|
||||
var/datum/action/cooldown/slam
|
||||
|
||||
/mob/living/simple_animal/slaughter/Initialize()
|
||||
/mob/living/simple_animal/slaughter/Initialize(mapload)
|
||||
..()
|
||||
var/obj/effect/proc_holder/spell/bloodcrawl/bloodspell = new
|
||||
AddSpell(bloodspell)
|
||||
@@ -282,7 +282,7 @@
|
||||
T = find_safe_turf()
|
||||
for(var/mob/living/M in consumed_mobs)
|
||||
if(!M)
|
||||
continue
|
||||
continue
|
||||
M.forceMove(T)
|
||||
if(M.revive(full_heal = TRUE, admin_revive = TRUE))
|
||||
M.grab_ghost(force = TRUE)
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
3. Biological resources will be harvested at a later date; do not harm them.
|
||||
"}
|
||||
|
||||
/obj/effect/mob_spawn/swarmer/Initialize()
|
||||
/obj/effect/mob_spawn/swarmer/Initialize(mapload)
|
||||
. = ..()
|
||||
var/area/A = get_area(src)
|
||||
if(A)
|
||||
@@ -106,7 +106,7 @@
|
||||
var/resources = 0 //Resource points, generated by consuming metal/glass
|
||||
var/max_resources = 100
|
||||
|
||||
/mob/living/simple_animal/hostile/swarmer/Initialize()
|
||||
/mob/living/simple_animal/hostile/swarmer/Initialize(mapload)
|
||||
. = ..()
|
||||
remove_verb(src, /mob/living/verb/pulled)
|
||||
for(var/datum/atom_hud/data/diagnostic/diag_hud in GLOB.huds)
|
||||
@@ -139,12 +139,12 @@
|
||||
else
|
||||
death()
|
||||
|
||||
/mob/living/simple_animal/hostile/swarmer/CanPass(atom/movable/O)
|
||||
/mob/living/simple_animal/hostile/swarmer/CanAllowThrough(atom/movable/O)
|
||||
. = ..()
|
||||
if(istype(O, /obj/item/projectile/beam/disabler))//Allows for swarmers to fight as a group without wasting their shots hitting each other
|
||||
return 1
|
||||
if(isswarmer(O))
|
||||
return 1
|
||||
..()
|
||||
|
||||
////CTRL CLICK FOR SWARMERS AND SWARMER_ACT()'S////
|
||||
/mob/living/simple_animal/hostile/swarmer/AttackingTarget()
|
||||
@@ -607,7 +607,7 @@
|
||||
icon_state = "disintegrate"
|
||||
duration = 10
|
||||
|
||||
/obj/effect/temp_visual/swarmer/disintegration/Initialize()
|
||||
/obj/effect/temp_visual/swarmer/disintegration/Initialize(mapload)
|
||||
. = ..()
|
||||
playsound(loc, "sparks", 100, 1)
|
||||
|
||||
@@ -698,11 +698,12 @@
|
||||
light_range = MINIMUM_USEFUL_LIGHT_RANGE
|
||||
max_integrity = 50
|
||||
|
||||
/obj/structure/swarmer/blockade/CanPass(atom/movable/O)
|
||||
/obj/structure/swarmer/blockade/CanAllowThrough(atom/movable/O)
|
||||
. = ..()
|
||||
if(isswarmer(O))
|
||||
return 1
|
||||
return TRUE
|
||||
if(istype(O, /obj/item/projectile/beam/disabler))
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/mob/living/simple_animal/hostile/swarmer/proc/CreateSwarmer()
|
||||
set name = "Replicate"
|
||||
|
||||
@@ -355,7 +355,7 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list(
|
||||
var/detonation_timer
|
||||
var/next_announce
|
||||
|
||||
/obj/machinery/doomsday_device/Initialize()
|
||||
/obj/machinery/doomsday_device/Initialize(mapload)
|
||||
. = ..()
|
||||
countdown = new(src)
|
||||
|
||||
|
||||
@@ -444,6 +444,6 @@
|
||||
duration = 40
|
||||
pixel_x = 500
|
||||
|
||||
/obj/effect/temp_visual/tornado/Initialize()
|
||||
/obj/effect/temp_visual/tornado/Initialize(mapload)
|
||||
. = ..()
|
||||
animate(src, pixel_x = -500, time = 40)
|
||||
|
||||
@@ -618,7 +618,7 @@
|
||||
else
|
||||
. += "It appears to have no author."
|
||||
|
||||
/obj/item/spellbook/Initialize()
|
||||
/obj/item/spellbook/Initialize(mapload)
|
||||
. = ..()
|
||||
prepare_spells()
|
||||
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
update_appearance()
|
||||
return TRUE
|
||||
|
||||
/obj/item/dildo/Initialize()
|
||||
/obj/item/dildo/Initialize(mapload)
|
||||
. = ..()
|
||||
if(random_color == TRUE)
|
||||
var/randcolor = pick(GLOB.dildo_colors)
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
var/turf/listeningTo
|
||||
var/hearing_range = 3
|
||||
|
||||
/obj/item/assembly/infra/Initialize()
|
||||
/obj/item/assembly/infra/Initialize(mapload)
|
||||
. = ..()
|
||||
beams = list()
|
||||
START_PROCESSING(SSobj, src)
|
||||
@@ -220,7 +220,8 @@
|
||||
icon_state = "ibeam"
|
||||
anchored = TRUE
|
||||
density = FALSE
|
||||
pass_flags = PASSTABLE|PASSGLASS|PASSGRILLE|LETPASSTHROW
|
||||
pass_flags = PASSTABLE|PASSGLASS|PASSGRILLE
|
||||
pass_flags_self = LETPASSTHROW
|
||||
var/obj/item/assembly/infra/master
|
||||
|
||||
/obj/effect/beam/i_beam/Crossed(atom/movable/AM as mob|obj)
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
var/sensitivity = 1
|
||||
var/hearing_range = 3
|
||||
|
||||
/obj/item/assembly/prox_sensor/Initialize()
|
||||
/obj/item/assembly/prox_sensor/Initialize(mapload)
|
||||
. = ..()
|
||||
proximity_monitor = new(src, 0)
|
||||
START_PROCESSING(SSobj, src)
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
playsound(user, 'sound/machines/triple_beep.ogg', ASSEMBLY_BEEP_VOLUME, TRUE)
|
||||
qdel(src)
|
||||
|
||||
/obj/item/assembly/signaler/Initialize()
|
||||
/obj/item/assembly/signaler/Initialize(mapload)
|
||||
. = ..()
|
||||
set_frequency(frequency)
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
user.adjustOxyLoss(200)
|
||||
user.death(0)
|
||||
|
||||
/obj/item/assembly/timer/Initialize()
|
||||
/obj/item/assembly/timer/Initialize(mapload)
|
||||
. = ..()
|
||||
START_PROCESSING(SSobj, src)
|
||||
|
||||
|
||||
@@ -60,6 +60,10 @@
|
||||
fire_products = "plasma_fire"
|
||||
enthalpy = FIRE_PLASMA_ENERGY_RELEASED // 3000000, 3 megajoules, 3000 kj
|
||||
|
||||
/datum/gas/plasma/New()
|
||||
if(world.system_type == UNIX)
|
||||
fire_temperature = null
|
||||
|
||||
/datum/gas/water_vapor
|
||||
id = GAS_H2O
|
||||
specific_heat = 40
|
||||
@@ -134,6 +138,10 @@
|
||||
fire_radiation_released = 50 // arbitrary number, basically 60 moles of trit burning will just barely start to harm you
|
||||
fire_temperature = FIRE_MINIMUM_TEMPERATURE_TO_EXIST - 50
|
||||
|
||||
/datum/gas/tritium/New()
|
||||
if(world.system_type == UNIX)
|
||||
fire_temperature = null
|
||||
|
||||
/datum/gas/bz
|
||||
id = GAS_BZ
|
||||
specific_heat = 20
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
var/list/atmos_overlay_types //gas IDs of current active gas overlays
|
||||
|
||||
/turf/open/Initialize()
|
||||
/turf/open/Initialize(mapload)
|
||||
if(!blocks_air)
|
||||
air = new(2500,src)
|
||||
air.copy_from_turf(src)
|
||||
|
||||
@@ -5,10 +5,9 @@
|
||||
|
||||
for(var/r in subtypesof(/datum/gas_reaction))
|
||||
var/datum/gas_reaction/reaction = r
|
||||
if(initial(reaction.exclude))
|
||||
continue
|
||||
reaction = new r
|
||||
. += reaction
|
||||
if(!reaction.exclude)
|
||||
. += reaction
|
||||
sortTim(., /proc/cmp_gas_reaction)
|
||||
|
||||
/proc/cmp_gas_reaction(datum/gas_reaction/a, datum/gas_reaction/b) // compares lists of reactions by the maximum priority contained within the list
|
||||
@@ -119,6 +118,7 @@
|
||||
id = "tritfire"
|
||||
|
||||
/datum/gas_reaction/tritfire/init_reqs()
|
||||
exclude = world.system_type == MS_WINDOWS // temporary stopgap until generic fires work on linux
|
||||
min_requirements = list(
|
||||
"TEMP" = FIRE_MINIMUM_TEMPERATURE_TO_EXIST,
|
||||
GAS_TRITIUM = MINIMUM_MOLE_COUNT,
|
||||
@@ -200,6 +200,7 @@
|
||||
id = "plasmafire"
|
||||
|
||||
/datum/gas_reaction/plasmafire/init_reqs()
|
||||
exclude = world.system_type == MS_WINDOWS // temporary stopgap until generic fires work on linux
|
||||
min_requirements = list(
|
||||
"TEMP" = FIRE_MINIMUM_TEMPERATURE_TO_EXIST,
|
||||
GAS_PLASMA = MINIMUM_MOLE_COUNT,
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
req_access = list(ACCESS_ATMOSPHERICS)
|
||||
max_integrity = 250
|
||||
integrity_failure = 0.33
|
||||
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 100, "bomb" = 0, "bio" = 100, "rad" = 100, "fire" = 90, "acid" = 30)
|
||||
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 100, BOMB = 0, BIO = 100, RAD = 100, FIRE = 90, ACID = 30)
|
||||
resistance_flags = FIRE_PROOF
|
||||
|
||||
var/danger_level = 0
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
normalize_cardinal_directions()
|
||||
nodes = new(device_type)
|
||||
if (!armor)
|
||||
armor = list("melee" = 25, "bullet" = 10, "laser" = 10, "energy" = 100, "bomb" = 0, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 70)
|
||||
armor = list(MELEE = 25, BULLET = 10, LASER = 10, ENERGY = 100, BOMB = 0, BIO = 100, RAD = 100, FIRE = 100, ACID = 70)
|
||||
..()
|
||||
if(process)
|
||||
if(interacts_with_air)
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
icon_state = "pod-off"
|
||||
density = TRUE
|
||||
max_integrity = 350
|
||||
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 100, "bomb" = 0, "bio" = 100, "rad" = 100, "fire" = 30, "acid" = 30)
|
||||
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 100, BOMB = 0, BIO = 100, RAD = 100, FIRE = 30, ACID = 30)
|
||||
layer = ABOVE_WINDOW_LAYER
|
||||
plane = GAME_PLANE
|
||||
state_open = FALSE
|
||||
@@ -39,7 +39,7 @@
|
||||
fair_market_price = 10
|
||||
payment_department = ACCOUNT_MED
|
||||
|
||||
/obj/machinery/atmospherics/components/unary/cryo_cell/Initialize()
|
||||
/obj/machinery/atmospherics/components/unary/cryo_cell/Initialize(mapload)
|
||||
. = ..()
|
||||
initialize_directions = dir
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
density = TRUE
|
||||
max_integrity = 300
|
||||
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 100, "bomb" = 0, "bio" = 100, "rad" = 100, "fire" = 80, "acid" = 30)
|
||||
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 100, BOMB = 0, BIO = 100, RAD = 100, FIRE = 80, ACID = 30)
|
||||
layer = OBJ_LAYER
|
||||
plane = GAME_PLANE
|
||||
circuit = /obj/item/circuitboard/machine/thermomachine
|
||||
@@ -24,7 +24,7 @@
|
||||
var/heat_capacity = 0
|
||||
var/interactive = TRUE // So mapmakers can disable interaction.
|
||||
|
||||
/obj/machinery/atmospherics/components/unary/thermomachine/Initialize()
|
||||
/obj/machinery/atmospherics/components/unary/thermomachine/Initialize(mapload)
|
||||
. = ..()
|
||||
initialize_directions = dir
|
||||
|
||||
@@ -197,7 +197,7 @@
|
||||
on = TRUE
|
||||
icon_state = "freezer_1"
|
||||
|
||||
/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on/Initialize()
|
||||
/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on/Initialize(mapload)
|
||||
. = ..()
|
||||
if(target_temperature == initial(target_temperature))
|
||||
target_temperature = min_temperature
|
||||
@@ -205,7 +205,7 @@
|
||||
/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on/coldroom
|
||||
name = "cold room freezer"
|
||||
|
||||
/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on/coldroom/Initialize()
|
||||
/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on/coldroom/Initialize(mapload)
|
||||
. = ..()
|
||||
target_temperature = T0C-80
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
idle_power_usage = 2
|
||||
active_power_usage = 4
|
||||
max_integrity = 150
|
||||
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 100, "bomb" = 0, "bio" = 100, "rad" = 100, "fire" = 40, "acid" = 0)
|
||||
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 100, BOMB = 0, BIO = 100, RAD = 100, FIRE = 40, ACID = 0)
|
||||
var/frequency = 0
|
||||
var/atom/target
|
||||
var/id_tag
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
idle_power_usage = 150
|
||||
active_power_usage = 2000
|
||||
|
||||
/obj/machinery/atmospherics/miner/Initialize()
|
||||
/obj/machinery/atmospherics/miner/Initialize(mapload)
|
||||
. = ..()
|
||||
set_active(active) //Force overlay update.
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
resistance_flags = LAVA_PROOF | FIRE_PROOF
|
||||
interacts_with_air = TRUE
|
||||
|
||||
/obj/machinery/atmospherics/pipe/heat_exchanging/Initialize()
|
||||
/obj/machinery/atmospherics/pipe/heat_exchanging/Initialize(mapload)
|
||||
. = ..()
|
||||
add_atom_colour("#404040", FIXED_COLOUR_PRIORITY)
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
var/mutable_appearance/center
|
||||
|
||||
/obj/machinery/atmospherics/pipe/heat_exchanging/manifold/Initialize()
|
||||
/obj/machinery/atmospherics/pipe/heat_exchanging/manifold/Initialize(mapload)
|
||||
icon_state = ""
|
||||
center = mutable_appearance(icon, "manifold_center")
|
||||
return ..()
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
var/list/front_nodes
|
||||
var/list/back_nodes
|
||||
|
||||
/obj/machinery/atmospherics/pipe/layer_manifold/Initialize()
|
||||
/obj/machinery/atmospherics/pipe/layer_manifold/Initialize(mapload)
|
||||
front_nodes = list()
|
||||
back_nodes = list()
|
||||
icon_state = "manifoldlayer_center"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user