mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 03:27:05 +01:00
Merge branch 'master' into emitter-reflectors
This commit is contained in:
@@ -20,9 +20,10 @@
|
||||
new /obj/item/clothing/head/witchhunter_hat(src)
|
||||
new /obj/item/clothing/suit/holidaypriest(src)
|
||||
new /obj/item/clothing/under/wedding/bride_white(src)
|
||||
new /obj/item/storage/backpack/cultpack (src)
|
||||
new /obj/item/storage/backpack/cultpack(src)
|
||||
new /obj/item/clothing/head/helmet/riot/knight/templar(src)
|
||||
new /obj/item/clothing/suit/armor/riot/knight/templar(src)
|
||||
new /obj/item/soulstone/anybody/chaplain(src)
|
||||
new /obj/item/storage/fancy/candle_box/eternal(src)
|
||||
new /obj/item/storage/fancy/candle_box/eternal(src)
|
||||
new /obj/item/storage/fancy/candle_box/eternal(src)
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
anchored = 1
|
||||
health = 200
|
||||
req_access = list()
|
||||
layer = 2.9 // ensures the loot they drop always appears on top of them.
|
||||
var/is_armory = FALSE
|
||||
var/ignore_use = FALSE
|
||||
|
||||
|
||||
@@ -245,6 +245,7 @@
|
||||
new /obj/item/restraints/handcuffs(src)
|
||||
new /obj/item/melee/baton/loaded(src)
|
||||
new /obj/item/clothing/glasses/sunglasses(src)
|
||||
new /obj/item/clothing/glasses/hud/security/sunglasses/read_only(src)
|
||||
new /obj/item/clothing/glasses/hud/health/health_advanced
|
||||
new /obj/item/clothing/head/beret/centcom/officer(src)
|
||||
new /obj/item/clothing/head/beret/centcom/officer/navy(src)
|
||||
|
||||
@@ -637,3 +637,8 @@
|
||||
icon_state = "electricalcrate"
|
||||
icon_opened = "electricalcrateopen"
|
||||
icon_closed = "electricalcrate"
|
||||
|
||||
/obj/structure/closet/crate/tape/New()
|
||||
if(prob(10))
|
||||
new /obj/item/bikehorn/rubberducky(src)
|
||||
..()
|
||||
|
||||
@@ -9,17 +9,17 @@
|
||||
var/area/syndicate_depot/core/depotarea
|
||||
var/has_overloaded = FALSE
|
||||
|
||||
/obj/structure/fusionreactor/Initialize()
|
||||
..()
|
||||
/obj/structure/fusionreactor/New()
|
||||
. = ..()
|
||||
// Do not attempt to put the code below into Initialize() or even LateInitialize() with a "return INITIALIZE_HINT_LATELOAD". It won't work!
|
||||
depotarea = areaMaster
|
||||
if(istype(depotarea))
|
||||
depotarea.reactor = src
|
||||
return INITIALIZE_HINT_LATELOAD
|
||||
|
||||
/obj/structure/fusionreactor/LateInitialize()
|
||||
for(var/obj/machinery/porta_turret/syndicate/T in range(50, loc))
|
||||
if(!istype(T.depotarea))
|
||||
T.depotarea = depotarea
|
||||
for(var/obj/machinery/porta_turret/syndicate/T in range(50, loc))
|
||||
if(!istype(T.depotarea))
|
||||
T.depotarea = depotarea
|
||||
else
|
||||
log_debug("[src] at [x],[y],[z] failed depotarea istype check during New()! Either it was spawned outside the depot area (bad idea), or a bug is happening.")
|
||||
|
||||
/obj/structure/fusionreactor/Destroy()
|
||||
if(istype(depotarea))
|
||||
@@ -84,8 +84,9 @@
|
||||
var/max_fire_range = 9
|
||||
var/area/syndicate_depot/core/depotarea
|
||||
|
||||
/obj/effect/overload/Initialize()
|
||||
/obj/effect/overload/New()
|
||||
. = ..()
|
||||
// Do not attempt to put the code below into Initialize() or even LateInitialize() with a "return INITIALIZE_HINT_LATELOAD". It won't work!
|
||||
processing_objects.Add(src)
|
||||
depotarea = areaMaster
|
||||
if(istype(depotarea))
|
||||
@@ -93,6 +94,8 @@
|
||||
depotarea.used_self_destruct = TRUE // Silences all further alerts from this point onwards.
|
||||
depotarea.updateicon()
|
||||
depotarea.shields_down()
|
||||
else
|
||||
log_debug("[src] at [x],[y],[z] failed depotarea istype check during New()! Either it was spawned outside the depot area (bad idea), or a bug is happening.")
|
||||
|
||||
/obj/effect/overload/process()
|
||||
var/turf/T = get_turf(src)
|
||||
@@ -116,6 +119,8 @@
|
||||
L.open()
|
||||
for(var/mob/living/M in range(30, T))
|
||||
M.gib()
|
||||
for(var/obj/mecha/E in range(30, T))
|
||||
E.Destroy()
|
||||
explosion(get_turf(src), 25, 35, 45, 55, 1, 1, 60, 0, 0)
|
||||
processing_objects.Remove(src)
|
||||
qdel(src)
|
||||
|
||||
@@ -107,6 +107,7 @@ var/global/list/captain_display_cases = list()
|
||||
var/image/occupant_overlay = null
|
||||
var/obj/item/airlock_electronics/circuit
|
||||
var/start_showpiece_type = null //add type for items on display
|
||||
var/alarm_needs_power = TRUE
|
||||
|
||||
/obj/structure/displaycase/New()
|
||||
. = ..()
|
||||
@@ -184,7 +185,12 @@ var/global/list/captain_display_cases = list()
|
||||
playsound(get_turf(src), "shatter", 70, 1)
|
||||
update_icon()
|
||||
spawn(0)
|
||||
burglar_alarm()
|
||||
if(!alarm_needs_power)
|
||||
burglar_alarm()
|
||||
else
|
||||
var/area/a = get_area(src)
|
||||
if(isarea(a) && a.power_equip)
|
||||
burglar_alarm()
|
||||
else
|
||||
playsound(get_turf(src), 'sound/effects/Glasshit.ogg', 75, 1)
|
||||
return
|
||||
|
||||
@@ -194,6 +194,28 @@
|
||||
return TRUE
|
||||
else
|
||||
current_action = 0
|
||||
if(iswelder(W))
|
||||
var/obj/item/weldingtool/WT = W
|
||||
if(!WT.remove_fuel(0, user))
|
||||
return
|
||||
to_chat(user, "<span class='notice'>You begin cutting [src] apart...</span>")
|
||||
playsound(loc, WT.usesound, 40, 1)
|
||||
if(do_after(user, 150 * WT.toolspeed, 1, target = src))
|
||||
if(!WT.isOn())
|
||||
return
|
||||
playsound(loc, WT.usesound, 50, 1)
|
||||
visible_message("<span class='notice'>[user] slices apart [src].</span>",
|
||||
"<span class='notice'>You cut [src] apart with [WT].</span>",
|
||||
"<span class='italics'>You hear welding.</span>")
|
||||
var/turf/T = get_turf(src)
|
||||
if(blade_sharpness == GUILLOTINE_BLADE_MAX_SHARP)
|
||||
new /obj/item/stack/sheet/plasteel(T, 3)
|
||||
else
|
||||
new /obj/item/stack/sheet/plasteel(T, 2) //prevents reconstructing to sharpen the guillotine without additional plasteel
|
||||
new /obj/item/stack/sheet/wood(T, 20)
|
||||
new /obj/item/stack/cable_coil(T, 10)
|
||||
qdel(src)
|
||||
return
|
||||
else
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -312,7 +312,7 @@ GLOBAL_LIST_EMPTY(safes)
|
||||
|
||||
/obj/structure/safe/Destroy()
|
||||
GLOB.safes -= src
|
||||
drill.soundloop.stop()
|
||||
drill?.soundloop?.stop()
|
||||
return ..()
|
||||
|
||||
/obj/structure/safe/process()
|
||||
|
||||
@@ -172,31 +172,24 @@
|
||||
if(exposed_temperature > 300)
|
||||
PlasmaBurn(exposed_temperature)
|
||||
|
||||
/obj/structure/statue/plasma/bullet_act(obj/item/projectile/Proj)
|
||||
var/burn = FALSE
|
||||
if(Proj.damage == 0)//lasertag guns and so on don't set off plasma anymore. can't use nodamage here because lasertag guns actually don't have it.
|
||||
return
|
||||
if(istype(Proj,/obj/item/projectile/beam))
|
||||
PlasmaBurn(2500)
|
||||
burn = TRUE
|
||||
else if(istype(Proj,/obj/item/projectile/ion))
|
||||
PlasmaBurn(500)
|
||||
burn = TRUE
|
||||
if(burn)
|
||||
if(Proj.firer)
|
||||
message_admins("Plasma statue ignited by [key_name_admin(Proj.firer)]([ADMIN_QUE(Proj.firer,"?")]) ([ADMIN_FLW(Proj.firer,"FLW")]) in ([x],[y],[z] - <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[x];Y=[y];Z=[z]'>JMP</a>)",0,1)
|
||||
log_game("Plasma statue ignited by [key_name(Proj.firer)] in ([x],[y],[z])")
|
||||
investigate_log("was <font color='red'><b>ignited</b></font> by [key_name(Proj.firer)]","atmos")
|
||||
else
|
||||
message_admins("Plasma statue ignited by [Proj]. No known firer.([ADMIN_QUE(Proj.firer,"?")]) ([ADMIN_FLW(Proj.firer,"FLW")]) in ([x],[y],[z] - <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[x];Y=[y];Z=[z]'>JMP</a>)",0,1)
|
||||
log_game("Plasma statue ignited by [Proj] in ([x],[y],[z]). No known firer.")
|
||||
/obj/structure/statue/plasma/bullet_act(obj/item/projectile/P)
|
||||
if(!QDELETED(src)) //wasn't deleted by the projectile's effects.
|
||||
if(!P.nodamage && ((P.damage_type == BURN) || (P.damage_type == BRUTE)))
|
||||
if(P.firer)
|
||||
message_admins("[key_name_admin(P.firer)] ignited a plasma statue with [P.name] at [COORD(loc)]")
|
||||
log_game("[key_name(P.firer)] ignited a plasma statue with [P.name] at [COORD(loc)]")
|
||||
investigate_log("[key_name(P.firer)] ignited a plasma statue with [P.name] at [COORD(loc)]", "atmos")
|
||||
else
|
||||
message_admins("A plasma statue was ignited with [P.name] at [COORD(loc)]. No known firer.")
|
||||
log_game("A plasma statue was ignited with [P.name] at [COORD(loc)]. No known firer.")
|
||||
PlasmaBurn()
|
||||
..()
|
||||
|
||||
/obj/structure/statue/plasma/attackby(obj/item/W, mob/user, params)
|
||||
if(is_hot(W) > 300)//If the temperature of the object is over 300, then ignite
|
||||
message_admins("Plasma statue ignited by [key_name_admin(user)]([ADMIN_QUE(user,"?")]) ([ADMIN_FLW(user,"FLW")]) in ([x],[y],[z] - <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[x];Y=[y];Z=[z]'>JMP</a>)",0,1)
|
||||
log_game("Plasma statue ignited by [key_name(user)] in ([x],[y],[z])")
|
||||
investigate_log("was <font color='red'><b>ignited</b></font> by [key_name(user)]","atmos")
|
||||
message_admins("[key_name_admin(user)] ignited a plasma statue at [COORD(loc)]")
|
||||
log_game("[key_name(user)] ignited plasma a statue at [COORD(loc)]")
|
||||
investigate_log("[key_name(user)] ignited a plasma statue at [COORD(loc)]", "atmos")
|
||||
ignite(is_hot(W))
|
||||
return
|
||||
..()
|
||||
|
||||
@@ -507,10 +507,8 @@
|
||||
icon = 'icons/obj/watercloset.dmi'
|
||||
icon_state = "rubberducky"
|
||||
item_state = "rubberducky"
|
||||
honk_sounds = list('sound/items/squeaktoy.ogg' = 1)
|
||||
attack_verb = list("quacked", "squeaked")
|
||||
honk_sound = 'sound/items/squeaktoy.ogg' //credit to DANMITCH3LL of freesound for this
|
||||
|
||||
|
||||
|
||||
/obj/structure/sink
|
||||
name = "sink"
|
||||
|
||||
@@ -174,7 +174,7 @@ var/global/wcCommon = pick(list("#379963", "#0d8395", "#58b5c3", "#49e46e", "#8f
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
user.visible_message("<span class='notice'>Something knocks on [src].</span>")
|
||||
add_fingerprint(user)
|
||||
playsound(src, 'sound/effects/Glassknock.ogg', 50, 1)
|
||||
playsound(src, 'sound/effects/glassknock.ogg', 50, 1)
|
||||
|
||||
/obj/structure/window/attack_hulk(mob/living/carbon/human/user, does_attack_animation = 0)
|
||||
if(!can_be_reached(user))
|
||||
|
||||
Reference in New Issue
Block a user