diff --git a/code/modules/mining/abandonedcrates.dm b/code/modules/mining/abandonedcrates.dm
index fa88bd53..8e82af61 100644
--- a/code/modules/mining/abandonedcrates.dm
+++ b/code/modules/mining/abandonedcrates.dm
@@ -6,10 +6,11 @@
icon_closed = "securecrate"
var/code = null
var/lastattempt = null
- var/attempts = 3
+ var/attempts = 2
locked = 1
var/min = 1
var/max = 10
+// var/tampered = 0
/obj/structure/closet/crate/secure/loot/New()
..()
@@ -17,308 +18,190 @@
var/loot = rand(1,70)
switch(loot)
if(1)
- new/obj/item/weapon/reagent_containers/food/drinks/bottle/rum(src)
- new/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiadeus(src)
- new/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey(src)
- new/obj/item/weapon/lighter/zippo(src)
- if(2)
- new/obj/item/weapon/pickaxe/drill(src)
- new/obj/item/device/taperecorder(src)
- new/obj/item/clothing/suit/space(src)
- new/obj/item/clothing/head/helmet/space(src)
- if(3)
- new/obj/item/weapon/reagent_containers/glass/bottle/adminordrazine(src)
- if(4)
- new/obj/item/weapon/reagent_containers/glass/beaker/bluespace(src)
- if(5 to 6)
- for(var/i = 0, i < 10, i++)
- new/obj/item/weapon/ore/diamond(src)
- if(7)
- new/obj/item/weapon/reagent_containers/glass/bottle/cyanide(src)
- if(8)
-// new/obj/item/weapon/melee/energy/sword(src) Dummy
- if(9)
- for(var/i = 0, i < 3, i++)
- new/obj/machinery/hydroponics(src)
- if(10)
- for(var/i = 0, i < 3, i++)
- new/obj/item/weapon/reagent_containers/glass/beaker/noreact(src)
- if(11 to 12)
- for(var/i = 0, i < 9, i++)
- new/obj/item/bluespace_crystal(src)
- if(13)
- new/obj/item/weapon/melee/classic_baton(src)
- if(14)
- new/obj/item/weapon/shield/energy(src)
- if(15)
- new/obj/item/clothing/under/chameleon(src)
- for(var/i = 0, i < 7, i++)
- new/obj/item/clothing/tie/horrible(src)
- if(16)
- new/obj/item/clothing/under/shorts(src)
- new/obj/item/clothing/under/shorts/red(src)
- new/obj/item/clothing/under/shorts/blue(src)
- //Dummy crates start here. //Ha, no. Your dummy crates are dumb and I hope you die. //Sorry Duck, but. Issues with people being dumb.
- if(17)
- new/obj/item/weapon/melee/energy/sword/pirate(src)
- if(18)
-// new/obj/item/weapon/twohanded/dualsaber(src) Dummy
- if(19)
- new/obj/item/weapon/claymore(src)
-// new/obj/item/weapon/katana(src)
- if(20)
+ new/obj/item/weapon/pickaxe/diamond(src)
+ if(2 to 3)
+ new/obj/item/weapon/pickaxe/gold(src)
+ if(4 to 5)
+ new/obj/item/weapon/pickaxe/silver(src)
+ if(6)
new/obj/item/weapon/pickaxe/plasmacutter(src)
- new/obj/item/weapon/pickaxe/diamonddrill(src)
- if(21)
- new/obj/item/weapon/pickaxe/jackhammer(src)
+ if(7 to 8)
+ for(var/i = 0, i < 2, i++)
+ new/obj/item/weapon/ore/diamond(src)
+ if(9)
new/obj/item/weapon/pickaxe/drill(src)
+ if(10 to 12)
+ for(var/i = 0, i < 5, i++)
+ new/obj/item/seeds/lemonseed(src)
+ if(13 to 16)
+ var/seeds = rand(1,15)
+ switch(seeds)
+ if(1 to 3)
+ new/obj/item/seeds/nettleseed(src)
+ if(4 to 8)
+ new/obj/item/seeds/berryseed(src)
+ new/obj/item/seeds/berryseed(src)
+ new/obj/item/seeds/berryseed(src)
+ if(9 to 12)
+ new/obj/item/seeds/appleseed(src)
+ new/obj/item/seeds/appleseed(src)
+ new/obj/item/seeds/appleseed(src)
+ if(13)
+ new/obj/item/seeds/bluespacetomatoseed(src)
+ if(14)
+ new/obj/item/seeds/sugarcaneseed(src)
+ if(15)
+ new/obj/item/seeds/plastiseed(src)
+ if(17)
+ new/obj/item/weapon/reagent_containers/glass/beaker/noreact(src)
+ if(18)
+ new/obj/item/bluespace_crystal(src)
+ if(prob(10))
+ new/obj/item/bluespace_crystal(src)
+ if(19)
+ new/obj/item/seeds/kudzuseed(src)
+ if(20)
+ new/obj/item/weapon/shield/energy(src)
+ if(21)
+ new/obj/item/weapon/coin/iron(src)
+ if(prob(25))
+ new/obj/item/weapon/coin/silver(src)
if(22)
- new/obj/item/weapon/storage/belt/inflatable(src)
- if(23)
- new/obj/item/weapon/storage/belt/champion(src)
- if(24)
- new/obj/item/device/soulstone(src)
- new/obj/structure/constructshell(src)
- if(25)
-// new/obj/item/mecha_parts/chassis/honker(src)
-// new/obj/item/mecha_parts/part/honker_torso(src)
- new/obj/item/mecha_parts/part/honker_head(src)
-// new/obj/item/mecha_parts/part/honker_left_arm(src)
- new/obj/item/mecha_parts/part/honker_right_arm(src)
- new/obj/item/mecha_parts/part/honker_left_leg(src)
- new/obj/item/mecha_parts/part/honker_right_leg(src)
- if(26)
-// new/obj/item/weapon/bikehorn(src)
- new/obj/item/weapon/bikehorn(src)
- new/obj/item/weapon/bikehorn(src)
-// new/obj/item/weapon/circuitboard/mecha/honker/peripherals(src)
- new/obj/item/weapon/circuitboard/mecha/honker/targeting(src)
- new/obj/item/weapon/circuitboard/mecha/honker/main(src)
-// new/obj/item/mecha_parts/mecha_equipment/weapon/honker(src)
- new/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/banana_mortar(src)
- new/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/banana_mortar/mousetrap_mortar(src)
- if(27)
-// new/obj/item/mecha_parts/chassis/phazon(src)
- new/obj/item/mecha_parts/part/phazon_torso(src)
- new/obj/item/mecha_parts/part/phazon_head(src)
- if(28)
- new/obj/item/mecha_parts/part/phazon_left_arm(src)
-// new/obj/item/mecha_parts/part/phazon_right_arm(src)
- new/obj/item/mecha_parts/part/phazon_left_leg(src)
- new/obj/item/mecha_parts/part/phazon_right_leg(src)
- if(29)
- new/obj/item/clothing/mask/facehugger(src)
- new/obj/item/clothing/mask/facehugger(src)
- new/obj/item/clothing/mask/facehugger(src)
- if(30)
-// new/obj/item/weapon/gun/energy/staff/focus(src) Dummy
- //Dummy crates end here. //is what it would say if we weren't getting rid of the dummy crates for being dumb
- if(31)
- new/obj/item/weapon/melee/baton(src)
- if(32)
- new/obj/machinery/zero_point_emitter(src)
- if(33)
- new/obj/item/weapon/storage/backpack/santabag(src)
- new/obj/item/clothing/head/helmet/space/santahat(src)
- new/obj/item/clothing/suit/space/santa(src)
- if(34)
- new/obj/item/weapon/storage/backpack/holding(src)
- if(35)
- new/obj/item/weapon/storage/backpack/satchel_eng(src)
- new/obj/item/weapon/storage/backpack/satchel_med(src)
- new/obj/item/weapon/storage/backpack/satchel_vir(src)
- new/obj/item/weapon/storage/backpack/satchel_chem(src)
- new/obj/item/weapon/storage/backpack/satchel_gen(src)
- new/obj/item/weapon/storage/backpack/satchel_tox(src)
- new/obj/item/weapon/storage/backpack/satchel_sec(src)
- new/obj/item/weapon/storage/backpack/satchel_hyd(src)
- new/obj/item/weapon/storage/backpack/satchel_cap(src)
- if(36) //Beginning the deadly wildlife crates!
- new/mob/living/simple_animal/hostile/carp(src)
- new/mob/living/simple_animal/hostile/carp(src)
- if(37)
- new/mob/living/simple_animal/hostile/carp(src)
- new/mob/living/simple_animal/hostile/carp(src)
- new/mob/living/simple_animal/hostile/carp(src)
- new/mob/living/simple_animal/hostile/carp(src)
- if(38)
- new/mob/living/simple_animal/hostile/giant_spider(src)
- new/mob/living/simple_animal/hostile/giant_spider/nurse(src)
- new/mob/living/simple_animal/hostile/giant_spider/hunter(src)
- if(39)
- new/mob/living/simple_animal/hostile/giant_spider(src)
- new/mob/living/simple_animal/hostile/giant_spider/nurse(src)
- new/mob/living/simple_animal/hostile/giant_spider/hunter(src)
- new/mob/living/simple_animal/hostile/giant_spider(src)
- new/mob/living/simple_animal/hostile/giant_spider/nurse(src)
- new/mob/living/simple_animal/hostile/giant_spider/hunter(src)
- if(40)
- new/mob/living/simple_animal/hostile/mimic(src)
- if(41)
- new/mob/living/simple_animal/hostile/creature(src)
- if(43)
- new/mob/living/simple_animal/hostile/tree(src)
- if(44)
- new /obj/item/clothing/suit/chickensuit(src)
- new /obj/item/clothing/head/chicken(src)
- new/obj/item/weapon/reagent_containers/food/snacks/egg(src)
- if(45)
- new/obj/item/clothing/under/gladiator(src)
- new/obj/item/clothing/head/helmet/gladiator(src)
+ if(prob(10))
+ new/obj/item/weapon/coin/adamantine(src)
+ new/obj/item/weapon/coin/gold(src)
+ else
+ new/obj/item/weapon/paper/crumpled(src)
+ if(23 to 25)
+ var/nutrient = rand(1,3)
+ switch(nutrient)
+ if(1)
+ new/obj/item/nutrient/ez(src)
+ new/obj/item/nutrient/ez(src)
+ new/obj/item/nutrient/ez(src)
+ if(2)
+ new/obj/item/nutrient/l4z(src)
+ new/obj/item/nutrient/l4z(src)
+ new/obj/item/nutrient/l4z(src)
+ if(3)
+ new/obj/item/nutrient/rh(src)
+ new/obj/item/nutrient/rh(src)
+ new/obj/item/nutrient/rh(src)
+ if(26 to 30)
+ for(var/i = 0, i < 5, i++)
+ new/obj/item/stack/sheet/metal(src)
+ if(31 to 35)
+ for(var/i = 0, i < 5, i++)
+ new/obj/item/stack/sheet/glass(src)
+ if(36 to 37)
+ new/obj/item/stack/sheet/glass/plasmaglass(src)
+ new/obj/item/stack/sheet/glass/plasmaglass(src)
+ if(38 to 39)
+ new/obj/item/stack/sheet/plasteel(src)
+ new/obj/item/stack/sheet/plasteel(src)
+ if(40 to 45)
+ new/obj/item/stack/rods(src)
+ new/obj/item/stack/rods(src)
+ new/obj/item/stack/rods(src)
+ new/obj/item/weapon/shard(src)
+ new/obj/item/weapon/shard(src)
+ new/obj/item/weapon/shard(src)
if(46)
- new/obj/item/clothing/under/gimmick/rank/captain/suit(src)
- new/obj/item/clothing/head/flatcap(src)
- new/obj/item/clothing/suit/storage/labcoat/mad(src)
- new/obj/item/clothing/glasses/gglasses(src)
+ new/obj/item/weapon/storage/belt/champion(src)
if(47)
- new/obj/item/clothing/under/gimmick/rank/captain/suit(src)
- new/obj/item/clothing/head/flatcap(src)
- new/obj/item/clothing/mask/cigarette/cigar/havana(src)
- new/obj/item/clothing/shoes/jackboots(src)
+ new/obj/item/weapon/rcd_ammo(src)
+ new/obj/item/weapon/rcd_ammo(src)
+ new/obj/item/weapon/rcd_ammo(src)
+ if(prob(10))
+ new/obj/item/weapon/rcd(src)
if(48)
- new/obj/item/clothing/under/schoolgirl(src)
- new/obj/item/clothing/head/kitty(src)
- if(49)
- new/obj/item/clothing/under/blackskirt(src)
- new/obj/item/clothing/head/beret(src)
- new/obj/item/clothing/head/rabbitears(src)
- new/obj/item/clothing/glasses/sunglasses/blindfold(src)
- if(50)
- new/obj/item/clothing/suit/wcoat(src)
- new/obj/item/clothing/under/suit_jacket(src)
- new/obj/item/clothing/head/that(src)
- if(51)
- new/obj/item/clothing/gloves/white(src)
- new/obj/item/clothing/shoes/white(src)
- new/obj/item/clothing/under/scratch(src)
- new/obj/item/clothing/head/cueball(src)
- if(52)
- new/obj/item/clothing/under/kilt(src)
- new/obj/item/clothing/head/beret(src)
+ var/pills = rand(1,15)
+ switch(pills)
+ if(1 to 4)
+ new/obj/item/weapon/storage/pill_bottle/antitox(src)
+ if(5 to 8)
+ new/obj/item/weapon/storage/pill_bottle/inaprovaline(src)
+ if(9 to 12)
+ new/obj/item/weapon/storage/pill_bottle/kelotane(src)
+ if(13)
+ new/obj/item/weapon/storage/pill_bottle/dice(src)
+ if(14)
+ new/obj/item/weapon/storage/pill_bottle/happy(src)
+ if(15)
+ new/obj/item/weapon/storage/pill_bottle/zoom(src)
+ if(49 to 52)
+ var/cash = rand(1,7)
+ switch(cash)
+ if(1 to 3)
+ new/obj/item/weapon/spacecash/c10(src)
+ new/obj/item/weapon/spacecash/c1(src)
+ new/obj/item/weapon/spacecash/c1(src)
+ new/obj/item/weapon/spacecash/c1(src)
+ if(4 to 6)
+ new/obj/item/weapon/spacecash/c20(src)
+ if(7)
+ new/obj/item/weapon/spacecash/c50(src)
if(53)
- new/obj/item/clothing/suit/wcoat(src)
- new/obj/item/clothing/glasses/monocle(src)
- new/obj/item/clothing/head/bowler(src)
- new/obj/item/clothing/shoes/black(src)
- new/obj/item/weapon/cane(src)
- new/obj/item/clothing/under/sl_suit(src)
- new/obj/item/clothing/mask/fakemoustache(src)
- if(54)
- new/obj/item/clothing/suit/bio_suit/plaguedoctorsuit(src)
- new/obj/item/clothing/head/plaguedoctorhat(src)
- if(55)
- new/obj/item/clothing/under/owl(src)
- new/obj/item/clothing/mask/gas/owl_mask(src)
- new/obj/item/weapon/gun/energy/crossbow(src)
- new/obj/item/clothing/shoes/syndigaloshes(src)
-
- if(56)
- new/obj/item/clothing/under/waiter(src)
- new/obj/item/clothing/head/kitty(src)
- new/obj/item/clothing/head/rabbitears(src)
- new/obj/item/clothing/suit/apron(src)
- if(57)
- new/obj/item/clothing/under/pirate(src)
- new/obj/item/clothing/suit/pirate(src)
- new/obj/item/clothing/head/pirate(src)
- new/obj/item/clothing/head/bandana(src)
- new/obj/item/clothing/glasses/eyepatch(src)
- if(58)
- new/obj/item/clothing/under/soviet(src)
- new/obj/item/clothing/head/ushanka(src)
- if(59)
- new/obj/item/clothing/suit/imperium_monk(src)
- new/obj/item/clothing/mask/gas/cyborg(src)
- if(60)
- new/obj/item/clothing/suit/holidaypriest(src)
- if(61)
- new/obj/item/clothing/head/wizard/marisa/fake(src)
- new/obj/item/clothing/suit/wizrobe/marisa/fake(src)
- if(62)
- new/obj/item/clothing/under/sundress(src)
- new/obj/item/clothing/head/witchwig(src)
- new/obj/item/weapon/staff/broom(src)
- if(63)
- new/obj/item/clothing/suit/wizrobe/fake(src)
- new/obj/item/clothing/head/wizard/fake(src)
- new/obj/item/weapon/staff(src)
- if(64)
- new/obj/item/clothing/mask/gas/sexyclown(src)
- new/obj/item/clothing/under/sexyclown(src)
- if(65)
- new/obj/item/clothing/mask/gas/sexymime(src)
- new/obj/item/clothing/under/sexymime(src)
- if(66)
- new/obj/item/weapon/stamp/clown(src)
- new/obj/item/clothing/mask/gas/clown_hat(src)
- new/obj/item/clothing/shoes/clown_shoes(src)
- new/obj/item/clothing/under/rank/clown(src)
- new/obj/item/weapon/bedsheet/clown(src)
- new/obj/item/device/pda/clown(src)
- new/obj/item/weapon/storage/backpack/clown(src)
- new/obj/item/weapon/bikehorn(src)
-// new/obj/item/weapon/reagent_containers/food/snacks/clownburger(src)
- new/obj/item/weapon/reagent_containers/food/snacks/grown/banana(src)
- new/obj/item/weapon/reagent_containers/food/snacks/pie(src)
- new/obj/item/weapon/reagent_containers/food/snacks/sliceable/bananabread(src)
- new/obj/item/toy/crayon/rainbow(src)
- if(67)
- new/obj/item/clothing/mask/gas/mime(src)
- new/obj/item/clothing/under/mime(src)
- new/obj/item/toy/crayon/mime(src)
- new/obj/item/clothing/shoes/mime(src)
- new/obj/item/clothing/head/soft/mime(src)
- new/obj/item/weapon/bedsheet/mime(src)
- new/obj/item/clothing/head/beret(src)
- new/obj/item/clothing/suit/suspenders(src)
-// new/obj/item/weapon/reagent_containers/food/snacks/egg/mime(src)
- new/obj/item/device/pda/mime(src)
-// new/obj/item/weapon/reagent_containers/food/drinks/bottle/bottleofnothing(src)
- if(68)
- new/obj/item/weapon/spacecash/c1000(src)
- new/obj/item/weapon/spacecash/c1000(src)
- new/obj/item/weapon/spacecash/c1000(src)
- new/obj/item/weapon/spacecash/c1000(src)
- new/obj/item/weapon/spacecash/c1000(src)
- new/obj/item/weapon/spacecash/c1000(src)
- new/obj/item/weapon/spacecash/c1000(src)
- new/obj/item/weapon/spacecash/c1000(src)
- new/obj/item/weapon/spacecash/c1000(src)
- if(69)
- new/obj/item/pizzabox/margherita(src)
- new/obj/item/pizzabox/margherita(src)
- new/obj/item/pizzabox/mushroom(src)
- new/obj/item/pizzabox/mushroom(src)
- new/obj/item/pizzabox/meat(src)
- new/obj/item/pizzabox/meat(src)
- new/obj/item/pizzabox/vegetable(src)
- new/obj/item/pizzabox/vegetable(src)
- if(70)
- new/obj/machinery/power/supermatter(src)
+ if(prob(15))
+ new/obj/item/weapon/spacecash/c500(src)
+ else
+ new/obj/item/weapon/spacecash/c1(src)
+ if(54 to 60)
+ if(prob(50))
+ new/obj/item/weapon/ore/strangerock(src)
+ new/obj/item/weapon/ore/strangerock(src)
+ new/obj/item/weapon/ore/strangerock(src)
+ new/obj/item/weapon/ore/slag(src)
+ new/obj/item/weapon/ore/slag(src)
+ else
+ new/obj/item/weapon/ore/gold(src)
+ new/obj/item/weapon/shard(src)
+ if(61 to 62)
+ new/obj/item/weapon/paper/crumpled/bloody(src)
+ var/gibs = rand(1,4)
+ switch(gibs)
+ if(1)
+ new/obj/item/weapon/organ/r_leg(src)
+ new/obj/item/weapon/organ/l_arm(src)
+ if(2)
+ new/obj/item/weapon/organ/head(src)
+ new/obj/item/weapon/organ/l_hand(src)
+ if(3)
+ new/obj/item/weapon/organ/r_foot(src)
+ new/obj/item/weapon/organ/r_arm(src)
+ if(4)
+ new/obj/item/weapon/organ/l_leg(src)
+ new/obj/item/weapon/organ/head(src)
+//Code modified to make things less boomy, and offer more chances with more difficulty.
/obj/structure/closet/crate/secure/loot/togglelock(mob/user as mob)
if(locked)
- user << "The crate is locked with a Deca-code lock."
- var/input = input(usr, "Enter digit from [min] to [max].", "Deca-Code Lock", "") as num
+// user << "The crate is locked with a Deca-code lock."
+// var/input = input(usr, "Enter digit from [min] to [max].", "Deca-Code Lock", "") as num
if(in_range(src, user))
- input = Clamp(input, 0, 10)
- if (input == code)
- user << "The crate unlocks!"
- locked = 0
- overlays.Cut()
- overlays += greenlight
- else if (input == null || input > max || input < min)
- user << "You leave the crate alone."
- else
- user << "A red light flashes."
- lastattempt = input
- attempts--
- if (attempts == 0)
- user << "The crate's anti-tamper system activates!"
- var/turf/T = get_turf(src.loc)
+ if (attempts >= 0)
+ user << "The crate is locked with a Deca-code lock."
+ var/input = input(usr, "Enter digit from [min] to [max].", "Deca-Code Lock", "") as num
+ input = Clamp(input, 0, 10)
+ if (input == code)
+ user << "The crate unlocks!"
+ locked = 0
+ overlays.Cut()
+ overlays += greenlight
+ else if (input == null || input > max || input < min)
+ user << "You leave the crate alone."
+ else
+ user << "A red light flashes."
+ lastattempt = input
+ attempts--
+ if (attempts == 0)
+ user << "The crate's anti-tamper system will activate after this try, locking the crate down!"
+/* var/turf/T = get_turf(src.loc) Coding out the explosion, because I'm nice like that. Don't make me regret this.
explosion(T, 0, 1, 4, 4)
- del(src)
- return
+ del(src)*/
+ // tampered = 1
+ if (attempts < 0)
+ user << "The crate's anti-tamper system is activated, and the crate is locked down."
else
user << "You attempt to interact with the device using a hand gesture, but it appears this crate is from before the DECANECT came out."
return
@@ -333,9 +216,9 @@
if (istype(W, /obj/item/device/multitool))
user << "DECA-CODE LOCK REPORT:"
if (attempts == 1)
- user << "* Anti-Tamper Bomb will activate on next failed access attempt."
+ user << "* Anti-Tamper System will activate on next failed access attempt."
else
- user << "* Anti-Tamper Bomb will activate after [src.attempts] failed access attempts."
+ user << "* Anti-Tamper System will activate after [src.attempts] failed access attempts."
if (lastattempt == null)
user << " has been made to open the crate thus far."
return
@@ -348,7 +231,24 @@
else ..()
/obj/structure/closet/crate/secure/loot/bullet_act(var/obj/item/projectile/Proj)
- var/turf/T = get_turf(src.loc)
- explosion(T, 0, 1, 4, 4)
- del(src)
- return
\ No newline at end of file
+ if(rand(1,7)==1)
+ var/turf/T = get_turf(src.loc)
+ explosion(T, 0, 1, 4, 4)
+ for(var/mob/O in viewers(src, 6))
+ if((O.client && !( O.blinded )))
+ O << "The crate's anti-tamper system overloads, causing an explosion."
+ del(src)
+ return
+
+// One way of doing this. Let's try another.
+// Other way didn't work. Yup.
+
+/* if(health <= 10 && rand(1,5) == 1)
+ var/turf/T = get_turf(src.loc)
+ explosion(T, 0, 1, 4, 4)
+ for(var/mob/O in viewers(user, 6))
+ if((O.client && !( O.blinded )))
+ O << "The crate's anti-tamper system overloads, causing an explosion."
+ viewers << "The crate's anti-tamper system overloads, causing an explosion."
+ del(src)
+ return*/
\ No newline at end of file