Merge branch 'master' into heterochromia
This commit is contained in:
@@ -70,7 +70,6 @@ interface with the mining shuttle at the landing site if a mobile beacon is also
|
||||
|
||||
var/datum/browser/popup = new(user, "computer", "base management", 550, 300) //width, height
|
||||
popup.set_content("<center>[dat]</center>")
|
||||
popup.set_title_image(usr.browse_rsc_icon(src.icon, src.icon_state))
|
||||
popup.open()
|
||||
|
||||
|
||||
|
||||
@@ -12,13 +12,14 @@
|
||||
slot_flags = ITEM_SLOT_BELT
|
||||
var/cooldown = 35
|
||||
var/current_cooldown = 0
|
||||
var/range = 7
|
||||
|
||||
/obj/item/mining_scanner/attack_self(mob/user)
|
||||
if(!user.client)
|
||||
return
|
||||
if(current_cooldown <= world.time)
|
||||
current_cooldown = world.time + cooldown
|
||||
mineral_scan_pulse(get_turf(user))
|
||||
mineral_scan_pulse(get_turf(user), range)
|
||||
|
||||
//Debug item to identify all ore spread quickly
|
||||
/obj/item/mining_scanner/admin
|
||||
|
||||
@@ -66,6 +66,16 @@
|
||||
force = 19
|
||||
custom_materials = list(/datum/material/diamond=4000)
|
||||
|
||||
/obj/item/pickaxe/rosegold
|
||||
name = "rose gold pickaxe"
|
||||
icon_state = "rgpickaxe"
|
||||
item_state = "rgpickaxe"
|
||||
toolspeed = 0.1
|
||||
desc = "A pickaxe with a light rose gold head and some red glowing runes. Extremely robust at cracking rock walls and digging up dirt."
|
||||
force = 19
|
||||
custom_materials = list(/datum/material/gold=4000)
|
||||
digrange = 3
|
||||
|
||||
/obj/item/pickaxe/plasteel
|
||||
name = "plasteel-tipped pickaxe"
|
||||
icon_state = "titaxe"
|
||||
|
||||
@@ -18,6 +18,15 @@
|
||||
SSblackbox.record_feedback("tally", "jaunter", 1, "User") // user activated
|
||||
activate(user, TRUE)
|
||||
|
||||
/obj/item/wormhole_jaunter/equipped(mob/user, slot)
|
||||
. = ..()
|
||||
if(slot == SLOT_BELT)
|
||||
RegisterSignal(user, COMSIG_MOVABLE_CHASM_DROP, .proc/chasm_react)
|
||||
|
||||
/obj/item/wormhole_jaunter/dropped(mob/user)
|
||||
. = ..()
|
||||
UnregisterSignal(user, COMSIG_MOVABLE_CHASM_DROP)
|
||||
|
||||
/obj/item/wormhole_jaunter/proc/turf_check(mob/user)
|
||||
var/turf/device_turf = get_turf(user)
|
||||
if(!device_turf || is_centcom_level(device_turf.z) || is_reserved_level(device_turf.z))
|
||||
@@ -71,13 +80,14 @@
|
||||
SSblackbox.record_feedback("tally", "jaunter", 1, "EMP") // EMP accidental activation
|
||||
activate(M)
|
||||
|
||||
/obj/item/wormhole_jaunter/proc/chasm_react(mob/user)
|
||||
if(user.get_item_by_slot(SLOT_BELT) == src)
|
||||
to_chat(user, "Your [name] activates, saving you from the chasm!</span>")
|
||||
SSblackbox.record_feedback("tally", "jaunter", 1, "Chasm") // chasm automatic activation
|
||||
activate(user, FALSE, TRUE)
|
||||
else
|
||||
to_chat(user, "[src] is not attached to your belt, preventing it from saving you from the chasm. RIP.</span>")
|
||||
/obj/item/wormhole_jaunter/proc/chasm_react(mob/source, datum/component/chasm/C)
|
||||
to_chat(source, "Your [name] activates, saving you from the chasm!</span>")
|
||||
SSblackbox.record_feedback("tally", "jaunter", 1, "Chasm") // chasm automatic activation
|
||||
activate(source, FALSE, TRUE)
|
||||
if(C)
|
||||
var/atom/A = C.parent
|
||||
A.visible_message("<span class='boldwarning'>[source] falls into [A]!</span>")
|
||||
return TRUE
|
||||
|
||||
//jaunter tunnel
|
||||
/obj/effect/portal/jaunt_tunnel
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
possible_destinations = "laborcamp_home;laborcamp_away"
|
||||
req_access = list(ACCESS_BRIG)
|
||||
|
||||
|
||||
/obj/machinery/computer/shuttle/labor/one_way
|
||||
name = "prisoner shuttle console"
|
||||
desc = "A one-way shuttle console, used to summon the shuttle to the labor camp."
|
||||
@@ -14,14 +13,19 @@
|
||||
circuit = /obj/item/circuitboard/computer/labor_shuttle/one_way
|
||||
req_access = list( )
|
||||
|
||||
/obj/machinery/computer/shuttle/labor/one_way/Topic(href, href_list)
|
||||
if(href_list["move"])
|
||||
var/obj/docking_port/mobile/M = SSshuttle.getShuttle("laborcamp")
|
||||
if(!M)
|
||||
to_chat(usr, "<span class='warning'>Cannot locate shuttle!</span>")
|
||||
return 0
|
||||
var/obj/docking_port/stationary/S = M.get_docked()
|
||||
if(S && S.name == "laborcamp_away")
|
||||
to_chat(usr, "<span class='warning'>Shuttle is already at the outpost!</span>")
|
||||
return 0
|
||||
..()
|
||||
/obj/machinery/computer/shuttle/labor/one_way/ui_act(action, params)
|
||||
if(!allowed(usr))
|
||||
to_chat(usr, "<span class='danger'>Access denied.</span>")
|
||||
return
|
||||
|
||||
switch(action)
|
||||
if("move")
|
||||
var/obj/docking_port/mobile/M = SSshuttle.getShuttle("laborcamp")
|
||||
if(!M)
|
||||
to_chat(usr, "<span class='warning'>Cannot locate shuttle!</span>")
|
||||
return
|
||||
var/obj/docking_port/stationary/S = M.get_docked()
|
||||
if(S?.name == "laborcamp_away")
|
||||
to_chat(usr, "<span class='warning'>Shuttle is already at the outpost!</span>")
|
||||
return
|
||||
return ..()
|
||||
|
||||
@@ -7,81 +7,199 @@
|
||||
icon_state = "necrocrate"
|
||||
resistance_flags = LAVA_PROOF | FIRE_PROOF | ACID_PROOF
|
||||
|
||||
/obj/structure/closet/crate/necropolis/tendril/random
|
||||
name = "necropolis crate"
|
||||
desc = "A chest for a chest, a head for a head."
|
||||
|
||||
/obj/structure/closet/crate/necropolis/tendril/random/PopulateContents()
|
||||
var/loot = rand(1,3)
|
||||
switch(loot)
|
||||
if(1)
|
||||
new /obj/structure/closet/crate/necropolis/tendril/magic(src)
|
||||
if(2)
|
||||
new /obj/structure/closet/crate/necropolis/tendril/weapon_armor(src)
|
||||
if(3)
|
||||
new /obj/structure/closet/crate/necropolis/tendril/misc(src)
|
||||
|
||||
/obj/structure/closet/crate/necropolis/tendril
|
||||
desc = "It's watching you suspiciously."
|
||||
|
||||
/obj/structure/closet/crate/necropolis/tendril/PopulateContents()
|
||||
/obj/structure/closet/crate/necropolis/tendril/magic
|
||||
name = "relic necropolis chest"
|
||||
|
||||
/obj/structure/closet/crate/necropolis/tendril/weapon_armor
|
||||
name = "armament necropolis chest"
|
||||
|
||||
/obj/structure/closet/crate/necropolis/tendril/misc
|
||||
|
||||
/obj/structure/closet/crate/necropolis/tendril/all
|
||||
desc = "It's watching you suspiciously."
|
||||
|
||||
/obj/structure/closet/crate/necropolis/tendril/magic/PopulateContents()
|
||||
var/loot = rand(1,10)
|
||||
switch(loot)
|
||||
if(1)
|
||||
new /obj/item/soulstone/anybody(src)
|
||||
if(2)
|
||||
new /obj/item/rod_of_asclepius(src)
|
||||
if(3)
|
||||
new /obj/item/organ/heart/cursed/wizard(src)
|
||||
if(4)
|
||||
new /obj/item/book/granter/spell/summonitem(src)
|
||||
if(5)
|
||||
new /obj/item/borg/upgrade/modkit/lifesteal(src)
|
||||
new /obj/item/bedsheet/cult(src)
|
||||
if(6)
|
||||
new /obj/item/clothing/neck/necklace/memento_mori(src)
|
||||
if(7)
|
||||
new /obj/item/warp_cube/red(src)
|
||||
if(8)
|
||||
new /obj/item/immortality_talisman(src)
|
||||
if(9)
|
||||
new /obj/item/gun/magic/wand/book/healing(src)
|
||||
if(10)
|
||||
new /obj/item/reagent_containers/glass/bottle/ichor/red(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/ichor/blue(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/ichor/green(src)
|
||||
|
||||
/obj/structure/closet/crate/necropolis/tendril/weapon_armor/PopulateContents()
|
||||
var/loot = rand(1,11)
|
||||
switch(loot)
|
||||
if(1)
|
||||
new /obj/item/clothing/suit/space/hardsuit/cult(src)
|
||||
if(2)
|
||||
new /obj/item/katana/lavaland(src)
|
||||
if(3)
|
||||
if(prob(50))
|
||||
new /obj/item/disk/design_disk/modkit_disc/resonator_blast(src)
|
||||
else
|
||||
new /obj/item/disk/design_disk/modkit_disc/rapid_repeater(src)
|
||||
if(4)
|
||||
new /obj/item/clothing/suit/space/hardsuit/ert/paranormal/beserker/old(src)
|
||||
if(5)
|
||||
new /obj/item/nullrod/scythe/talking(src)
|
||||
if(6)
|
||||
new /obj/item/nullrod/armblade(src)
|
||||
if(7)
|
||||
new /obj/item/reagent_containers/food/drinks/bottle/holywater/hell(src)
|
||||
new /obj/item/clothing/suit/space/hardsuit/ert/paranormal/inquisitor/old(src)
|
||||
if(8)
|
||||
new /obj/item/grenade/clusterbuster/inferno(src)
|
||||
if(9)
|
||||
new /obj/item/gun/magic/wand/book/shock(src)
|
||||
if(10)
|
||||
new /obj/item/gun/magic/wand/book/page(src)
|
||||
if(11)
|
||||
new /obj/item/gun/magic/wand/book/spark(src)
|
||||
|
||||
/obj/structure/closet/crate/necropolis/tendril/misc/PopulateContents()
|
||||
var/loot = rand(1,14)
|
||||
switch(loot)
|
||||
if(1)
|
||||
new /obj/item/shared_storage/red(src)
|
||||
if(2)
|
||||
new /obj/item/reagent_containers/glass/bottle/potion/flight(src)
|
||||
if(3)
|
||||
new /obj/item/ship_in_a_bottle(src)
|
||||
if(4)
|
||||
new /obj/item/voodoo(src)
|
||||
if(5)
|
||||
new /obj/item/book_of_babel(src)
|
||||
if(6)
|
||||
new /obj/item/jacobs_ladder(src)
|
||||
if(7)
|
||||
if(prob(50))
|
||||
new /obj/item/disk/design_disk/modkit_disc/mob_and_turf_aoe(src)
|
||||
else
|
||||
new /obj/item/disk/design_disk/modkit_disc/bounty(src)
|
||||
if(8)
|
||||
new /obj/item/wisp_lantern(src)
|
||||
if(9)
|
||||
new /obj/item/pickaxe/rosegold(src)
|
||||
if(10)
|
||||
new /obj/item/bedsheet/cosmos(src)
|
||||
new /obj/item/melee/skateboard/hoverboard(src)
|
||||
if(11)
|
||||
new /obj/item/disk/tech_disk/illegal(src)
|
||||
if(12)
|
||||
new /obj/item/clothing/suit/space/hardsuit/cult(src)
|
||||
if(13)
|
||||
new /obj/item/katana/lavaland(src)
|
||||
if(14)
|
||||
if(prob(50))
|
||||
new /obj/item/disk/design_disk/modkit_disc/resonator_blast(src)
|
||||
else
|
||||
new /obj/item/disk/design_disk/modkit_disc/rapid_repeater(src)
|
||||
|
||||
/obj/structure/closet/crate/necropolis/tendril/all/PopulateContents()
|
||||
var/loot = rand(1,29)
|
||||
switch(loot)
|
||||
if(1)
|
||||
new /obj/item/shared_storage/red(src)
|
||||
if(2)
|
||||
new /obj/item/clothing/suit/space/hardsuit/cult(src)
|
||||
if(3)
|
||||
new /obj/item/soulstone/anybody(src)
|
||||
if(4)
|
||||
new /obj/item/katana/cursed(src)
|
||||
if(5)
|
||||
new /obj/item/clothing/glasses/godeye(src)
|
||||
if(6)
|
||||
new /obj/item/reagent_containers/glass/bottle/potion/flight(src)
|
||||
if(7)
|
||||
new /obj/item/pickaxe/diamond(src)
|
||||
if(8)
|
||||
if(prob(50))
|
||||
new /obj/item/disk/design_disk/modkit_disc/resonator_blast(src)
|
||||
else
|
||||
new /obj/item/disk/design_disk/modkit_disc/rapid_repeater(src)
|
||||
if(9)
|
||||
new /obj/item/rod_of_asclepius(src)
|
||||
if(10)
|
||||
new /obj/item/organ/heart/cursed/wizard(src)
|
||||
if(11)
|
||||
if(3)
|
||||
new /obj/item/ship_in_a_bottle(src)
|
||||
if(12)
|
||||
new /obj/item/clothing/suit/space/hardsuit/ert/paranormal/beserker/old(src)
|
||||
if(13)
|
||||
if(4)
|
||||
new /obj/item/voodoo(src)
|
||||
if(5)
|
||||
new /obj/item/book_of_babel(src)
|
||||
if(6)
|
||||
new /obj/item/jacobs_ladder(src)
|
||||
if(14)
|
||||
new /obj/item/nullrod/scythe/talking(src)
|
||||
if(15)
|
||||
new /obj/item/nullrod/armblade(src)
|
||||
if(16)
|
||||
new /obj/item/guardiancreator(src)
|
||||
if(17)
|
||||
if(7)
|
||||
if(prob(50))
|
||||
new /obj/item/disk/design_disk/modkit_disc/mob_and_turf_aoe(src)
|
||||
else
|
||||
new /obj/item/disk/design_disk/modkit_disc/bounty(src)
|
||||
if(18)
|
||||
new /obj/item/warp_cube/red(src)
|
||||
if(19)
|
||||
if(8)
|
||||
new /obj/item/wisp_lantern(src)
|
||||
if(20)
|
||||
new /obj/item/immortality_talisman(src)
|
||||
if(21)
|
||||
new /obj/item/gun/magic/hook(src)
|
||||
if(22)
|
||||
new /obj/item/voodoo(src)
|
||||
if(23)
|
||||
new /obj/item/grenade/clusterbuster/inferno(src)
|
||||
if(24)
|
||||
if(9)
|
||||
new /obj/item/pickaxe/rosegold(src)
|
||||
if(10)
|
||||
new /obj/item/bedsheet/cosmos(src)
|
||||
new /obj/item/melee/skateboard/hoverboard(src)
|
||||
if(11)
|
||||
new /obj/item/disk/tech_disk/illegal(src)
|
||||
if(12)
|
||||
new /obj/item/clothing/suit/space/hardsuit/ert/paranormal/beserker/old(src)
|
||||
if(13)
|
||||
new /obj/item/nullrod/scythe/talking(src)
|
||||
if(14)
|
||||
new /obj/item/nullrod/armblade(src)
|
||||
if(15)
|
||||
new /obj/item/reagent_containers/food/drinks/bottle/holywater/hell(src)
|
||||
new /obj/item/clothing/suit/space/hardsuit/ert/paranormal/inquisitor/old(src)
|
||||
if(25)
|
||||
if(16)
|
||||
new /obj/item/grenade/clusterbuster/inferno(src)
|
||||
if(17)
|
||||
new /obj/item/gun/magic/wand/book/shock(src)
|
||||
if(18)
|
||||
new /obj/item/gun/magic/wand/book/page(src)
|
||||
if(19)
|
||||
new /obj/item/gun/magic/wand/book/spark(src)
|
||||
if(20)
|
||||
new /obj/item/soulstone/anybody(src)
|
||||
if(21)
|
||||
new /obj/item/rod_of_asclepius(src)
|
||||
if(22)
|
||||
new /obj/item/organ/heart/cursed/wizard(src)
|
||||
if(23)
|
||||
new /obj/item/book/granter/spell/summonitem(src)
|
||||
if(26)
|
||||
new /obj/item/book_of_babel(src)
|
||||
if(27)
|
||||
if(24)
|
||||
new /obj/item/borg/upgrade/modkit/lifesteal(src)
|
||||
new /obj/item/bedsheet/cult(src)
|
||||
if(28)
|
||||
if(25)
|
||||
new /obj/item/clothing/neck/necklace/memento_mori(src)
|
||||
if(26)
|
||||
new /obj/item/warp_cube/red(src)
|
||||
if(27)
|
||||
new /obj/item/immortality_talisman(src)
|
||||
if(28)
|
||||
new /obj/item/gun/magic/wand/book/healing(src)
|
||||
if(29)
|
||||
if(prob(50))
|
||||
new /obj/item/malf_upgrade(src)
|
||||
else
|
||||
new /obj/item/disk/tech_disk/illegal(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/ichor/red(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/ichor/blue(src)
|
||||
new /obj/item/reagent_containers/glass/bottle/ichor/green(src)
|
||||
|
||||
//KA modkit design discs
|
||||
/obj/item/disk/design_disk/modkit_disc
|
||||
@@ -747,7 +865,7 @@
|
||||
new /obj/item/lava_staff(src)
|
||||
if(3)
|
||||
new /obj/item/book/granter/spell/sacredflame(src)
|
||||
new /obj/item/gun/magic/wand/fireball(src)
|
||||
new /obj/item/gun/magic/hook(src)
|
||||
if(4)
|
||||
new /obj/item/dragons_blood(src)
|
||||
|
||||
@@ -987,7 +1105,7 @@
|
||||
if(2)
|
||||
new /obj/item/gun/ballistic/revolver/doublebarrel/super(src)
|
||||
if(3)
|
||||
new /obj/item/gun/magic/staff/spellblade(src)
|
||||
new /obj/item/guardiancreator(src)
|
||||
|
||||
/obj/structure/closet/crate/necropolis/bubblegum/crusher
|
||||
name = "bloody bubblegum chest"
|
||||
@@ -1076,6 +1194,7 @@
|
||||
var/random_crystal = pick(choices)
|
||||
new random_crystal(src)
|
||||
new /obj/item/organ/vocal_cords/colossus(src)
|
||||
new /obj/item/clothing/glasses/godeye(src)
|
||||
|
||||
/obj/structure/closet/crate/necropolis/colossus/crusher
|
||||
name = "angelic colossus chest"
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
circuit = /obj/item/circuitboard/computer/mining_shuttle
|
||||
shuttleId = "mining"
|
||||
possible_destinations = "mining_home;mining_away;landing_zone_dock;mining_public"
|
||||
no_destination_swap = 1
|
||||
no_destination_swap = TRUE
|
||||
var/static/list/dumb_rev_heads = list()
|
||||
|
||||
/obj/machinery/computer/shuttle/mining/on_attack_hand(mob/user, act_intent = user.a_intent, unarmed_attack_flags)
|
||||
|
||||
Reference in New Issue
Block a user