Merge branch 'master' of https://github.com/ParadiseSS13/Paradise into BookClub

This commit is contained in:
Aurorablade
2016-07-21 23:56:34 -04:00
1490 changed files with 46551 additions and 25064 deletions
+8 -6
View File
@@ -31,11 +31,13 @@
var/resintype = null
smooth = SMOOTH_TRUE
/obj/structure/alien/resin/New(location)
..()
/obj/structure/alien/resin/initialize()
air_update_turf(1)
return
..()
/obj/structure/alien/resin/Destroy()
air_update_turf(1)
return ..()
/obj/structure/alien/resin/Move()
var/turf/T = loc
@@ -179,7 +181,7 @@
/obj/structure/alien/weeds/Destroy()
var/turf/T = loc
for (var/obj/structure/alien/weeds/W in range(1,T))
for(var/obj/structure/alien/weeds/W in range(1,T))
W.updateWeedOverlays()
linked_node = null
return ..()
@@ -267,7 +269,7 @@
/obj/structure/alien/weeds/proc/fullUpdateWeedOverlays()
for (var/obj/structure/alien/weeds/W in range(1,src))
for(var/obj/structure/alien/weeds/W in range(1,src))
W.updateWeedOverlays()
//Weed nodes
@@ -38,7 +38,7 @@ var/global/list/image/splatter_cache=list()
if(src.loc && isturf(src.loc))
for(var/obj/effect/decal/cleanable/blood/B in src.loc)
if(B != src)
if (B.blood_DNA)
if(B.blood_DNA)
blood_DNA |= B.blood_DNA.Copy()
qdel(B)
spawn(DRYING_TIME * (amount+1))
@@ -58,7 +58,7 @@ var/global/list/image/splatter_cache=list()
color = basecolor
/obj/effect/decal/cleanable/blood/Crossed(mob/living/carbon/human/perp)
if (!istype(perp))
if(!istype(perp))
return
if(amount < 1)
return
@@ -85,7 +85,7 @@ var/global/list/image/splatter_cache=list()
S.overlays += S.blood_overlay
S.blood_DNA |= blood_DNA.Copy()
else if (hasfeet)//Or feet
else if(hasfeet)//Or feet
perp.feet_blood_color = basecolor
perp.track_blood = max(amount,perp.track_blood)
if(!perp.feet_blood_DNA)
@@ -103,14 +103,14 @@ var/global/list/image/splatter_cache=list()
/obj/effect/decal/cleanable/blood/attack_hand(mob/living/carbon/human/user)
..()
if (amount && istype(user))
if(amount && istype(user))
add_fingerprint(user)
if (user.gloves)
if(user.gloves)
return
var/taken = rand(1,amount)
amount -= taken
to_chat(user, "<span class='notice'>You get some of \the [src] on your hands.</span>")
if (!user.blood_DNA)
if(!user.blood_DNA)
user.blood_DNA = list()
user.blood_DNA |= blood_DNA.Copy()
user.bloody_hands += taken
@@ -216,9 +216,9 @@ var/global/list/image/splatter_cache=list()
/obj/effect/decal/cleanable/blood/gibs/proc/streak(var/list/directions)
set waitfor = 0
var/direction = pick(directions)
for (var/i = 0, i < pick(1, 200; 2, 150; 3, 50; 4), i++)
for(var/i = 0, i < pick(1, 200; 2, 150; 3, 50; 4), i++)
sleep(3)
if (i > 0)
if(i > 0)
var/obj/effect/decal/cleanable/blood/b = new /obj/effect/decal/cleanable/blood/splatter(src.loc)
b.basecolor = src.basecolor
b.update_icon()
@@ -226,7 +226,7 @@ var/global/list/image/splatter_cache=list()
var/datum/disease/ND = D.Copy(1)
b.viruses += ND
ND.holder = b
if (step_to(src, get_step(src, direction), 0))
if(step_to(src, get_step(src, direction), 0))
break
@@ -15,17 +15,17 @@
/obj/effect/decal/cleanable/blood/gibs/robot/streak(var/list/directions)
spawn (0)
var/direction = pick(directions)
for (var/i = 0, i < pick(1, 200; 2, 150; 3, 50; 4), i++)
for(var/i = 0, i < pick(1, 200; 2, 150; 3, 50; 4), i++)
sleep(3)
if (i > 0)
if (prob(40))
if(i > 0)
if(prob(40))
var/obj/effect/decal/cleanable/blood/oil/streak = new(src.loc)
streak.update_icon()
else if (prob(10))
else if(prob(10))
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
s.set_up(3, 1, src)
s.start()
if (step_to(src, get_step(src, direction), 0))
if(step_to(src, get_step(src, direction), 0))
break
/obj/effect/decal/cleanable/blood/gibs/robot/limb
@@ -5,7 +5,7 @@
var/noclear = 0 //if it has this, don't delete it when its' scooped up
/obj/effect/decal/cleanable/New()
if (random_icon_states && length(src.random_icon_states) > 0)
if(random_icon_states && length(src.random_icon_states) > 0)
src.icon_state = pick(src.random_icon_states)
create_reagents(100)
..()
+38 -38
View File
@@ -56,7 +56,7 @@ would spawn and follow the beaker, even if it is carried or thrown.
/obj/effect/effect/water/New()
..()
//var/turf/T = src.loc
//if (istype(T, /turf))
//if(istype(T, /turf))
// T.firelevel = 0 //TODO: FIX
spawn( 70 )
delete()
@@ -65,9 +65,9 @@ would spawn and follow the beaker, even if it is carried or thrown.
/obj/effect/effect/water/Move(turf/newloc)
//var/turf/T = src.loc
//if (istype(T, /turf))
//if(istype(T, /turf))
// T.firelevel = 0 //TODO: FIX
if (--src.life < 1)
if(--src.life < 1)
//SN src = null
delete()
if(newloc.density)
@@ -177,21 +177,21 @@ steam.start() -- spawns the effect
..()
playsound(src.loc, "sparks", 100, 1)
var/turf/T = loc
if (istype(T, /turf))
if(istype(T, /turf))
T.hotspot_expose(1000, 100)
spawn (100)
qdel(src)
/obj/effect/effect/sparks/Destroy()
var/turf/T = src.loc
if (istype(T, /turf))
if(istype(T, /turf))
T.hotspot_expose(1000,100)
return ..()
/obj/effect/effect/sparks/Move()
..()
var/turf/T = src.loc
if (istype(T, /turf))
if(istype(T, /turf))
T.hotspot_expose(1000,100)
return
@@ -325,11 +325,11 @@ steam.start() -- spawns the effect
/obj/effect/effect/bad_smoke/Move()
..()
for(var/mob/living/carbon/M in get_turf(src))
if (M.internal != null && M.wear_mask && (M.wear_mask.flags & AIRTIGHT))
if(M.internal != null && M.wear_mask && (M.wear_mask.flags & AIRTIGHT))
else
M.drop_item()
M.adjustOxyLoss(1)
if (M.coughedtime != 1)
if(M.coughedtime != 1)
M.coughedtime = 1
M.emote("cough")
spawn ( 20 )
@@ -348,12 +348,12 @@ steam.start() -- spawns the effect
/obj/effect/effect/bad_smoke/Crossed(mob/living/carbon/M as mob )
..()
if(istype(M, /mob/living/carbon))
if (M.internal != null && M.wear_mask && (M.wear_mask.flags & AIRTIGHT))
if(M.internal != null && M.wear_mask && (M.wear_mask.flags & AIRTIGHT))
return
else
M.drop_item()
M.adjustOxyLoss(1)
if (M.coughedtime != 1)
if(M.coughedtime != 1)
M.coughedtime = 1
M.emote("cough")
spawn ( 20 )
@@ -515,7 +515,7 @@ steam.start() -- spawns the effect
chemholder.reagents.reaction(A)
if(iscarbon(A))
var/mob/living/carbon/C = A
if(!(C.wear_mask && (C.internals != null || C.wear_mask.flags & BLOCK_GAS_SMOKE_EFFECT)))
if(C.can_breathe_gas())
chemholder.reagents.copy_to(C, chemholder.reagents.total_volume)
if(istype(A, /obj/machinery/portable_atmospherics/hydroponics))
var/obj/machinery/portable_atmospherics/hydroponics/tray = A
@@ -579,12 +579,12 @@ steam.start() -- spawns the effect
/obj/effect/effect/sleep_smoke/Move()
..()
for(var/mob/living/carbon/M in get_turf(src))
if (M.internal != null && M.wear_mask && (M.wear_mask.flags & AIRTIGHT))
// if (M.wear_suit, /obj/item/clothing/suit/wizrobe && (M.hat, /obj/item/clothing/head/wizard) && (M.shoes, /obj/item/clothing/shoes/sandal)) // I'll work on it later
if(M.internal != null && M.wear_mask && (M.wear_mask.flags & AIRTIGHT))
// if(M.wear_suit, /obj/item/clothing/suit/wizrobe && (M.hat, /obj/item/clothing/head/wizard) && (M.shoes, /obj/item/clothing/shoes/sandal)) // I'll work on it later
else
M.drop_item()
M:sleeping += 5
if (M.coughedtime != 1)
if(M.coughedtime != 1)
M.coughedtime = 1
M.emote("cough")
spawn(20)
@@ -595,13 +595,13 @@ steam.start() -- spawns the effect
/obj/effect/effect/sleep_smoke/Crossed(mob/living/carbon/M as mob )
..()
if(istype(M, /mob/living/carbon))
if (M.internal != null && M.wear_mask && (M.wear_mask.flags & AIRTIGHT))
// if (M.wear_suit, /obj/item/clothing/suit/wizrobe && (M.hat, /obj/item/clothing/head/wizard) && (M.shoes, /obj/item/clothing/shoes/sandal)) // Work on it later
if(M.internal != null && M.wear_mask && (M.wear_mask.flags & AIRTIGHT))
// if(M.wear_suit, /obj/item/clothing/suit/wizrobe && (M.hat, /obj/item/clothing/head/wizard) && (M.shoes, /obj/item/clothing/shoes/sandal)) // Work on it later
return
else
M.drop_item()
M:sleeping += 5
if (M.coughedtime != 1)
if(M.coughedtime != 1)
M.coughedtime = 1
M.emote("cough")
spawn(20)
@@ -671,10 +671,10 @@ steam.start() -- spawns the effect
/obj/effect/effect/mustard_gas/Move()
..()
for(var/mob/living/carbon/human/R in get_turf(src))
if (R.internal != null && usr.wear_mask && (R.wear_mask.flags & AIRTIGHT) && R.wear_suit != null && !istype(R.wear_suit, /obj/item/clothing/suit/storage/labcoat) && !istype(R.wear_suit, /obj/item/clothing/suit/straight_jacket) && !istype(R.wear_suit, /obj/item/clothing/suit/straight_jacket && !istype(R.wear_suit, /obj/item/clothing/suit/armor)))
if(R.internal != null && usr.wear_mask && (R.wear_mask.flags & AIRTIGHT) && R.wear_suit != null && !istype(R.wear_suit, /obj/item/clothing/suit/storage/labcoat) && !istype(R.wear_suit, /obj/item/clothing/suit/straight_jacket) && !istype(R.wear_suit, /obj/item/clothing/suit/straight_jacket && !istype(R.wear_suit, /obj/item/clothing/suit/armor)))
else
R.burn_skin(0.75)
if (R.coughedtime != 1)
if(R.coughedtime != 1)
R.coughedtime = 1
R.emote("gasp")
spawn (20)
@@ -684,11 +684,11 @@ steam.start() -- spawns the effect
/obj/effect/effect/mustard_gas/Crossed(mob/living/carbon/human/R as mob )
..()
if (istype(R, /mob/living/carbon/human))
if (R.internal != null && usr.wear_mask && (R.wear_mask.flags & AIRTIGHT) && R.wear_suit != null && !istype(R.wear_suit, /obj/item/clothing/suit/storage/labcoat) && !istype(R.wear_suit, /obj/item/clothing/suit/straight_jacket) && !istype(R.wear_suit, /obj/item/clothing/suit/straight_jacket && !istype(R.wear_suit, /obj/item/clothing/suit/armor)))
if(istype(R, /mob/living/carbon/human))
if(R.internal != null && usr.wear_mask && (R.wear_mask.flags & AIRTIGHT) && R.wear_suit != null && !istype(R.wear_suit, /obj/item/clothing/suit/storage/labcoat) && !istype(R.wear_suit, /obj/item/clothing/suit/straight_jacket) && !istype(R.wear_suit, /obj/item/clothing/suit/straight_jacket && !istype(R.wear_suit, /obj/item/clothing/suit/armor)))
return
R.burn_skin(0.75)
if (R.coughedtime != 1)
if(R.coughedtime != 1)
R.coughedtime = 1
R.emote("gasp")
spawn (20)
@@ -997,7 +997,7 @@ steam.start() -- spawns the effect
if(metal)
return
if (istype(AM, /mob/living/carbon))
if(istype(AM, /mob/living/carbon))
var/mob/living/carbon/M = AM
if(M.slip("foam", 5, 2))
if(reagents)
@@ -1075,7 +1075,7 @@ steam.start() -- spawns the effect
desc = "A lightweight foamed metal wall."
var/metal = MFOAM_ALUMINUM
/obj/structure/foamedmetal/New()
/obj/structure/foamedmetal/initialize()
..()
air_update_turf(1)
@@ -1109,7 +1109,7 @@ steam.start() -- spawns the effect
/obj/structure/foamedmetal/attack_hand(var/mob/user)
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(src)
if ((HULK in user.mutations) || (prob(75 - metal*25)))
if((HULK in user.mutations) || (prob(75 - metal*25)))
user.visible_message("<span class='warning'>[user] smashes through \the [src].</span>", "<span class='notice'>You smash through \the [src].</span>")
qdel(src)
else
@@ -1118,7 +1118,7 @@ steam.start() -- spawns the effect
/obj/structure/foamedmetal/attackby(var/obj/item/I, var/mob/user, params)
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(src)
if (istype(I, /obj/item/weapon/grab))
if(istype(I, /obj/item/weapon/grab))
var/obj/item/weapon/grab/G = I
G.affecting.loc = src.loc
user.visible_message("<span class='warning'>[G.assailant] smashes [G.affecting] through the foamed metal wall.</span>")
@@ -1171,7 +1171,7 @@ steam.start() -- spawns the effect
return
start()
if (amount <= 2)
if(amount <= 2)
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
s.set_up(2, 1, location)
s.start()
@@ -1179,7 +1179,7 @@ steam.start() -- spawns the effect
for(var/mob/M in viewers(5, location))
to_chat(M, "\red The solution violently explodes.")
for(var/mob/M in viewers(1, location))
if (prob (50 * amount))
if(prob (50 * amount))
to_chat(M, "\red The explosion knocks you down.")
M.Weaken(rand(1,5))
return
@@ -1190,16 +1190,16 @@ steam.start() -- spawns the effect
var/flash = -1
// Clamp all values to MAX_EXPLOSION_RANGE
if (round(amount/12) > 0)
if(round(amount/12) > 0)
devastation = min (MAX_EX_DEVESTATION_RANGE, devastation + round(amount/12))
if (round(amount/6) > 0)
if(round(amount/6) > 0)
heavy = min (MAX_EX_HEAVY_RANGE, heavy + round(amount/6))
if (round(amount/3) > 0)
if(round(amount/3) > 0)
light = min (MAX_EX_LIGHT_RANGE, light + round(amount/3))
if (flash && flashing_factor)
if(flash && flashing_factor)
flash += (round(amount/4) * flashing_factor)
for(var/mob/M in viewers(8, location))
@@ -1211,11 +1211,11 @@ steam.start() -- spawns the effect
if(holder)
var/dmglevel = 4
if (round(amount/8) > 0)
if(round(amount/8) > 0)
dmglevel = 1
else if (round(amount/4) > 0)
else if(round(amount/4) > 0)
dmglevel = 2
else if (round(amount/2) > 0)
else if(round(amount/2) > 0)
dmglevel = 3
if(dmglevel<4) holder.ex_act(dmglevel)
@@ -1243,7 +1243,7 @@ steam.start() -- spawns the effect
src.icon = I
playsound(src.loc, "sparks", 100, 1)
var/turf/T = src.loc
if (istype(T, /turf))
if(istype(T, /turf))
T.hotspot_expose(3000,100)
spawn (100)
qdel(src)
@@ -1251,14 +1251,14 @@ steam.start() -- spawns the effect
/obj/effect/sparkles/Destroy()
var/turf/T = src.loc
if (istype(T, /turf))
if(istype(T, /turf))
T.hotspot_expose(3000,100)
return ..()
/obj/effect/sparkles/Move()
..()
var/turf/T = src.loc
if (istype(T, /turf))
if(istype(T, /turf))
T.hotspot_expose(3000,100)
return
+2 -2
View File
@@ -146,11 +146,11 @@
qdel(src)
return
if(2.0)
if (prob(50))
if(prob(50))
qdel(src)
return
if(3.0)
if (prob(5))
if(prob(5))
qdel(src)
return
else
+12 -8
View File
@@ -8,7 +8,7 @@
/obj/effect/landmark/New()
..()
tag = text("landmark*[]", name)
set_tag()
invisibility = 101
switch(name) //some of these are probably obsolete
@@ -94,6 +94,9 @@
if("voxstart")
raider_spawn += loc
if("ERT Director")
ertdirector += loc
landmarks_list += src
return 1
@@ -102,18 +105,19 @@
..()
return QDEL_HINT_HARDDEL_NOW
/obj/effect/landmark/proc/set_tag()
tag = text("landmark*[]", name)
/obj/effect/landmark/start
name = "start"
icon = 'icons/mob/screen_gen.dmi'
icon_state = "x"
anchored = 1.0
/obj/effect/landmark/start/New()
..()
/obj/effect/landmark/start/set_tag()
tag = "start*[name]"
invisibility = 101
return 1
//Costume spawner landmarks
@@ -172,7 +176,7 @@
new /obj/item/clothing/gloves/color/white(src.loc)
new /obj/item/clothing/shoes/white(src.loc)
new /obj/item/clothing/under/scratch(src.loc)
if (prob(30))
if(prob(30))
new /obj/item/clothing/head/cueball(src.loc)
qdel(src)
@@ -224,7 +228,7 @@
/obj/effect/landmark/costume/imperium_monk/New()
new /obj/item/clothing/suit/imperium_monk(src.loc)
if (prob(25))
if(prob(25))
new /obj/item/clothing/mask/gas/cyborg(src.loc)
qdel(src)
@@ -257,4 +261,4 @@
/obj/effect/landmark/costume/sexymime/New()
new /obj/item/clothing/mask/gas/sexymime(src.loc)
new /obj/item/clothing/under/sexymime(src.loc)
qdel(src)
qdel(src)
+1 -1
View File
@@ -21,7 +21,7 @@
if(istype(M, /mob/living/carbon/human))
for(var/mob/O in viewers(world.view, src.loc))
to_chat(O, "<font color='red'>[M] triggered the \icon[src] [src]</font>")
to_chat(O, "<font color='red'>[M] triggered the [bicon(src)] [src]</font>")
triggered = 1
call(src,triggerproc)(M)
+8 -3
View File
@@ -10,6 +10,7 @@
var/creator = null
anchored = 1.0
var/precision = 1 // how close to the portal you will teleport. 0 = on the portal, 1 = adjacent
var/can_multitool_to_remove = 0
/obj/effect/portal/Bumped(mob/M as mob|obj)
src.teleport(M)
@@ -39,12 +40,16 @@
return
if(M.anchored&&istype(M, /obj/mecha))
return
if (!( target ))
if(!( target ))
qdel(src)
return
if (istype(M, /atom/movable))
if(istype(M, /atom/movable))
if(prob(failchance)) //oh dear a problem, put em in deep space
src.icon_state = "portal1"
do_teleport(M, locate(rand(5, world.maxx - 5), rand(5, world.maxy -5), 3), 0)
else
do_teleport(M, target, precision) ///You will appear adjacent to the beacon
do_teleport(M, target, precision) ///You will appear adjacent to the beacon
/obj/effect/portal/attackby(obj/item/A, mob/user)
if(istype(A, /obj/item/device/multitool) && can_multitool_to_remove)
qdel(src)
@@ -38,19 +38,19 @@
var/obj/item/device/assembly/S
switch (src.btype)
switch(src.btype)
// radio
if (0)
if(0)
S = new/obj/item/device/assembly/signaler(V)
// proximity
if (1)
if(1)
S = new/obj/item/device/assembly/prox_sensor(V)
// timer
if (2)
if(2)
S = new/obj/item/device/assembly/timer(V)
+99 -58
View File
@@ -58,65 +58,106 @@
//maintcentral: 2 items, 2 spots 0 extra (08/08/2014)
//port: 5 items, 5 spots 0 extra (08/08/2014)
loot = list(
/obj/item/bodybag = 1,
/obj/item/clothing/glasses/meson = 2,
/obj/item/clothing/glasses/sunglasses = 1,
/obj/item/clothing/gloves/color/yellow/fake = 1,
/obj/item/clothing/head/hardhat = 1,
/obj/item/clothing/head/hardhat/red = 1,
/obj/item/clothing/head/that{throwforce = 1; throwing = 1} = 1,
/obj/item/clothing/head/ushanka = 1,
/obj/item/clothing/head/welding = 1,
/obj/item/clothing/mask/gas = 15,
/obj/item/clothing/suit/storage/hazardvest = 1,
/obj/item/clothing/under/rank/vice = 1,
/obj/item/device/assembly/prox_sensor = 4,
/obj/item/device/assembly/timer = 3,
/obj/item/device/flashlight = 4,
/obj/item/device/flashlight/pen = 1,
/obj/item/device/multitool = 2,
/obj/item/device/radio/off = 2,
/obj/item/device/t_scanner = 6,
/obj/item/stack/cable_coil = 4,
/obj/item/stack/cable_coil{amount = 5} = 6,
/obj/item/stack/medical/advanced/bruise_pack = 1,
/obj/item/stack/rods{amount = 10} = 9,
/obj/item/stack/rods{amount = 23} = 1,
/obj/item/stack/rods{amount = 50} = 1,
/obj/item/stack/sheet/cardboard = 2,
/obj/item/stack/sheet/metal{amount = 20} = 1,
/obj/item/stack/sheet/mineral/plasma{layer = 2.9} = 1,
/obj/item/stack/sheet/rglass = 1,
/obj/item/weapon/book/manual/engineering_construction = 1,
/obj/item/weapon/book/manual/engineering_hacking = 1,
/obj/item/clothing/head/cone = 1,
/obj/item/weapon/coin/silver = 1,
/obj/item/weapon/coin/twoheaded = 1,
/obj/item/weapon/contraband/poster = 1,
/obj/item/weapon/crowbar = 1,
/obj/item/weapon/crowbar/red = 1,
/obj/item/weapon/extinguisher = 11,
/obj/item/bodybag = 10,
/obj/item/clothing/glasses/meson = 20,
/obj/item/clothing/glasses/sunglasses = 10,
/obj/item/clothing/gloves/color/yellow/fake = 15,
/obj/item/clothing/gloves/color/fyellow = 10,
/obj/item/clothing/gloves/color/yellow = 5,
/obj/item/clothing/gloves/color/black = 20,
/obj/item/clothing/head/hardhat = 10,
/obj/item/clothing/head/hardhat/red = 10,
/obj/item/clothing/head/that{throwforce = 1; throwing = 1} = 10,
/obj/item/clothing/head/ushanka = 10,
/obj/item/clothing/head/welding = 10,
/obj/item/clothing/mask/gas = 10,
/obj/item/clothing/suit/storage/hazardvest = 10,
/obj/item/clothing/under/rank/vice = 10,
/obj/item/device/assembly/prox_sensor = 40,
/obj/item/device/assembly/timer = 30,
/obj/item/device/flashlight = 40,
/obj/item/device/flashlight/pen = 10,
/obj/item/device/multitool = 20,
/obj/item/device/radio/off = 20,
/obj/item/device/t_scanner = 60,
/obj/item/stack/cable_coil = 40,
/obj/item/stack/cable_coil{amount = 5} = 60,
/obj/item/stack/medical/advanced/bruise_pack = 10,
/obj/item/stack/rods{amount = 10} = 80,
/obj/item/stack/rods{amount = 23} = 20,
/obj/item/stack/rods{amount = 50} = 10,
/obj/item/stack/sheet/cardboard = 20,
/obj/item/stack/sheet/metal{amount = 20} = 10,
/obj/item/stack/sheet/mineral/plasma{layer = 2.9} = 10,
/obj/item/stack/sheet/rglass = 10,
/obj/item/weapon/book/manual/engineering_construction = 10,
/obj/item/weapon/book/manual/engineering_hacking = 10,
/obj/item/clothing/head/cone = 10,
/obj/item/weapon/coin/silver = 10,
/obj/item/weapon/coin/twoheaded = 10,
/obj/item/weapon/contraband/poster = 10,
/obj/item/weapon/crowbar = 10,
/obj/item/weapon/crowbar/red = 10,
/obj/item/weapon/extinguisher = 90,
//obj/item/weapon/gun/projectile/revolver/russian = 1, //disabled until lootdrop is a proper world proc.
/obj/item/weapon/hand_labeler = 1,
/obj/item/weapon/paper/crumpled = 1,
/obj/item/weapon/pen = 1,
/obj/item/weapon/plantspray/pests = 1,
/obj/item/weapon/stock_parts/cell = 3,
/obj/item/weapon/storage/belt/utility = 2,
/obj/item/weapon/storage/box = 2,
/obj/item/weapon/storage/box/cups = 1,
/obj/item/weapon/storage/box/donkpockets = 1,
/obj/item/weapon/storage/box/lights/mixed = 3,
/obj/item/weapon/storage/fancy/cigarettes/dromedaryco = 1,
/obj/item/weapon/storage/toolbox/mechanical = 1,
/obj/item/weapon/screwdriver = 3,
/obj/item/weapon/tank/emergency_oxygen = 2,
/obj/item/weapon/vending_refill/cola = 1,
/obj/item/weapon/weldingtool = 3,
/obj/item/weapon/wirecutters = 1,
/obj/item/weapon/wrench = 4,
/obj/item/weapon/relic = 3,
"" = 11
/obj/item/weapon/hand_labeler = 10,
/obj/item/weapon/paper/crumpled = 10,
/obj/item/weapon/pen = 10,
/obj/item/weapon/minihoe = 10,
/obj/item/weapon/plantspray/pests = 10,
/obj/item/weapon/stock_parts/cell = 30,
/obj/item/weapon/storage/belt/utility = 20,
/obj/item/weapon/storage/box = 20,
/obj/item/weapon/storage/box/cups = 10,
/obj/item/weapon/storage/box/donkpockets = 10,
/obj/item/weapon/storage/box/lights/mixed = 30,
/obj/item/weapon/storage/fancy/cigarettes/dromedaryco = 10,
/obj/item/weapon/storage/toolbox/mechanical = 10,
/obj/item/weapon/screwdriver = 30,
/obj/item/weapon/tank/emergency_oxygen = 20,
/obj/item/weapon/tank/emergency_oxygen/engi = 10,
/obj/item/weapon/vending_refill/cola = 10,
/obj/item/weapon/weldingtool = 30,
/obj/item/weapon/wirecutters = 10,
/obj/item/weapon/wrench = 40,
/obj/item/weapon/relic = 35,
/obj/item/clothing/shoes/brown = 30,
/obj/item/seeds/ambrosiadeusseed = 10,
/obj/item/seeds/ambrosiavulgarisseed = 20,
/obj/item/clothing/under/color/black = 30,
/obj/item/stack/tape_roll = 10,
////////////////CONTRABAND STUFF//////////////////
/obj/item/weapon/grenade/clown_grenade = 3,
/obj/item/seeds/ambrosiavulgarisseed/cruciatus = 3,
/obj/item/weapon/gun/projectile/automatic/pistol/empty = 1,
/obj/item/ammo_box/magazine/m10mm = 4,
/obj/item/weapon/soap/syndie = 7,
/obj/item/weapon/gun/syringe/syndicate = 2,
/obj/item/weapon/suppressor = 4,
/obj/item/clothing/under/chameleon = 2,
/obj/item/weapon/stamp/chameleon = 2,
/obj/item/clothing/shoes/syndigaloshes = 5,
/obj/item/clothing/mask/gas/voice = 2,
/obj/item/weapon/dnascrambler = 1,
/obj/item/weapon/storage/backpack/satchel_flat = 2,
/obj/item/weapon/storage/toolbox/syndicate = 2,
/obj/item/weapon/storage/backpack/duffel/syndie/surgery_fake = 2,
/obj/item/weapon/storage/belt/military = 2,
/obj/item/weapon/storage/box/syndie_kit/space = 2,
/obj/item/device/multitool/ai_detect = 2,
/obj/item/weapon/implanter/storage = 1,
/obj/item/toy/cards/deck/syndicate = 2,
/obj/item/weapon/storage/secure/briefcase/syndie = 2,
"" = 90
)
/obj/effect/spawner/lootdrop/crate_spawner // for ruins
name = "lootcrate spawner"
lootdoubles = 0
loot = list(
/obj/structure/closet/crate/secure/loot = 20,
"" = 80,
)
/obj/effect/spawner/lootdrop/trade_sol_rare
@@ -5,10 +5,15 @@
var/useFull = 0
var/useGrille = 1
var/windowtospawn = /obj/structure/window/basic
anchored = 1 // No sliding out while you prime
/obj/effect/spawner/window/New()
/obj/effect/spawner/window/initialize()
spawn(0)
for(var/obj/structure/grille/G in get_turf(src)) qdel(G) //just in case mappers don't know what they are doing
var/turf/T = get_turf(src)
for(var/obj/structure/grille/G in get_turf(src))
// Complain noisily
log_debug("Extra grille on turf: ([T.x],[T.y],[T.z])")
qdel(G) //just in case mappers don't know what they are doing
if(!useFull)
for(var/cdir in cardinal)
@@ -30,7 +35,8 @@
spawn(10)
qdel(src)
/obj/effect/spawner/window/reinforced
name = "reinforced window spawner"
icon_state = "rwindow_spawner"
windowtospawn = /obj/structure/window/reinforced
windowtospawn = /obj/structure/window/reinforced
+2 -2
View File
@@ -13,10 +13,10 @@
if(1.0)
qdel(src)
if(2.0)
if (prob(50))
if(prob(50))
qdel(src)
if(3.0)
if (prob(5))
if(prob(5))
qdel(src)
return