April sync (#360)
* Maps and things no code/icons * helpers defines globalvars * Onclick world.dm orphaned_procs * subsystems Round vote and shuttle autocall done here too * datums * Game folder * Admin - chatter modules * clothing - mining * modular computers - zambies * client * mob level 1 * mob stage 2 + simple_animal * silicons n brains * mob stage 3 + Alien/Monkey * human mobs * icons updated * some sounds * emitter y u no commit * update tgstation.dme * compile fixes * travis fixes Also removes Fast digest mode, because reasons. * tweaks for travis Mentors are broke again Also fixes Sizeray guns * oxygen loss fix for vore code. * removes unused code * some code updates * bulk fixes * further fixes * outside things * whoops. * Maint bar ported * GLOBs.
This commit is contained in:
@@ -19,7 +19,7 @@ interface with the mining shuttle at the landing site if a mobile beacon is also
|
||||
var/launch_warning = TRUE
|
||||
var/list/turrets = list() //List of connected turrets
|
||||
|
||||
req_one_access = list(access_cargo, access_construction, access_heads, access_research)
|
||||
req_one_access = list(GLOB.access_cargo, GLOB.access_construction, GLOB.access_heads, GLOB.access_research)
|
||||
var/possible_destinations
|
||||
clockwork = TRUE
|
||||
var/obj/item/device/gps/internal/base/locator
|
||||
@@ -199,7 +199,7 @@ interface with the mining shuttle at the landing site if a mobile beacon is also
|
||||
var/turf/T = get_turf(user)
|
||||
var/obj/machinery/computer/auxillary_base/AB
|
||||
|
||||
for (var/obj/machinery/computer/auxillary_base/A in machines)
|
||||
for (var/obj/machinery/computer/auxillary_base/A in GLOB.machines)
|
||||
if(A.z == ZLEVEL_STATION)
|
||||
AB = A
|
||||
break
|
||||
@@ -274,7 +274,7 @@ obj/docking_port/stationary/public_mining_dock/onShuttleMove()
|
||||
to_chat(user, "<span class='warning'>This device is only to be used in a mining zone.</span>")
|
||||
return
|
||||
var/obj/machinery/computer/auxillary_base/aux_base_console
|
||||
for(var/obj/machinery/computer/auxillary_base/ABC in machines)
|
||||
for(var/obj/machinery/computer/auxillary_base/ABC in GLOB.machines)
|
||||
if(get_dist(landing_spot, ABC) <= console_range)
|
||||
aux_base_console = ABC
|
||||
break
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
/obj/machinery/computer/camera_advanced/base_construction/CreateEye()
|
||||
|
||||
var/spawn_spot
|
||||
for(var/obj/machinery/computer/auxillary_base/ABC in machines)
|
||||
for(var/obj/machinery/computer/auxillary_base/ABC in GLOB.machines)
|
||||
if(istype(get_area(ABC), /area/shuttle/auxillary_base))
|
||||
found_aux_console = ABC
|
||||
break
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
var/list/destinations = list()
|
||||
|
||||
if(isgolem(user))
|
||||
for(var/obj/item/device/radio/beacon/B in teleportbeacons)
|
||||
for(var/obj/item/device/radio/beacon/B in GLOB.teleportbeacons)
|
||||
var/turf/T = get_turf(B)
|
||||
if(istype(T.loc, /area/ruin/powered/golem_ship))
|
||||
destinations += B
|
||||
@@ -91,7 +91,7 @@
|
||||
if(destinations.len)
|
||||
return destinations
|
||||
|
||||
for(var/obj/item/device/radio/beacon/B in teleportbeacons)
|
||||
for(var/obj/item/device/radio/beacon/B in GLOB.teleportbeacons)
|
||||
var/turf/T = get_turf(B)
|
||||
if(T.z == ZLEVEL_STATION)
|
||||
destinations += B
|
||||
@@ -573,9 +573,9 @@
|
||||
L.underlays -= marked_image
|
||||
qdel(marked_image)
|
||||
marked_image = null
|
||||
var/backstab = check_target_facings(user, L)
|
||||
var/backstab_dir = get_dir(user, L)
|
||||
var/def_check = L.getarmor(type = "bomb")
|
||||
if(backstab == FACING_INIT_FACING_TARGET_TARGET_FACING_PERPENDICULAR || backstab == FACING_SAME_DIR)
|
||||
if((user.dir & backstab_dir) && (L.dir & backstab_dir))
|
||||
L.apply_damage(80, BRUTE, blocked = def_check)
|
||||
playsound(user, 'sound/weapons/Kenetic_accel.ogg', 100, 1) //Seriously who spelled it wrong
|
||||
else
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
var/list/total_extraction_beacons = list()
|
||||
GLOBAL_LIST_EMPTY(total_extraction_beacons)
|
||||
|
||||
/obj/item/weapon/extraction_pack
|
||||
name = "fulton extraction pack"
|
||||
@@ -18,7 +18,7 @@ var/list/total_extraction_beacons = list()
|
||||
|
||||
/obj/item/weapon/extraction_pack/attack_self(mob/user)
|
||||
var/list/possible_beacons = list()
|
||||
for(var/B in total_extraction_beacons)
|
||||
for(var/B in GLOB.total_extraction_beacons)
|
||||
var/obj/structure/extraction_point/EP = B
|
||||
if(EP.beacon_network in beacon_networks)
|
||||
possible_beacons += EP
|
||||
@@ -30,11 +30,12 @@ var/list/total_extraction_beacons = list()
|
||||
else
|
||||
var/A
|
||||
|
||||
A = input("Select a beacon to connect to", "Balloon Extraction Pack", A) in possible_beacons
|
||||
A = input("Select a beacon to connect to", "Balloon Extraction Pack", A) as null|anything in possible_beacons
|
||||
|
||||
if(!A)
|
||||
return
|
||||
beacon = A
|
||||
to_chat(user, "You link the extraction pack to the beacon system.")
|
||||
|
||||
/obj/item/weapon/extraction_pack/afterattack(atom/movable/A, mob/living/carbon/human/user, flag, params)
|
||||
if(!beacon)
|
||||
@@ -60,7 +61,7 @@ var/list/total_extraction_beacons = list()
|
||||
to_chat(user, "<span class='notice'>You start attaching the pack to [A]...</span>")
|
||||
if(do_after(user,50,target=A))
|
||||
to_chat(user, "<span class='notice'>You attach the pack to [A] and activate it.</span>")
|
||||
if(loc == user || istype(user.back, /obj/item/weapon/storage/backpack))
|
||||
if(loc == user && istype(user.back, /obj/item/weapon/storage/backpack))
|
||||
var/obj/item/weapon/storage/backpack/B = user.back
|
||||
if(B.can_be_inserted(src,stop_messages = 1))
|
||||
B.handle_item_insertion(src)
|
||||
@@ -150,21 +151,21 @@ var/list/total_extraction_beacons = list()
|
||||
|
||||
/obj/structure/extraction_point
|
||||
name = "fulton recovery beacon"
|
||||
desc = "A beacon for the fulton recovery system. Hit a beacon with a pack to link the pack to a beacon."
|
||||
desc = "A beacon for the fulton recovery system. Activate a pack in your hand to link it to a beacon."
|
||||
icon = 'icons/obj/fulton.dmi'
|
||||
icon_state = "extraction_point"
|
||||
anchored = 1
|
||||
density = 0
|
||||
var/beacon_network = "station"
|
||||
|
||||
/obj/structure/extraction_point/New()
|
||||
/obj/structure/extraction_point/Initialize()
|
||||
var/area/area_name = get_area(src)
|
||||
name += " ([rand(100,999)]) ([area_name.name])"
|
||||
total_extraction_beacons += src
|
||||
GLOB.total_extraction_beacons += src
|
||||
..()
|
||||
|
||||
/obj/structure/extraction_point/Destroy()
|
||||
total_extraction_beacons -= src
|
||||
GLOB.total_extraction_beacons -= src
|
||||
..()
|
||||
|
||||
/obj/effect/extraction_holder
|
||||
@@ -182,4 +183,4 @@ var/list/total_extraction_beacons = list()
|
||||
var/mob/living/L = A
|
||||
if(L.stat != DEAD)
|
||||
return 1
|
||||
return 0
|
||||
return 0
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
circuit = /obj/item/weapon/circuitboard/computer/labor_shuttle
|
||||
shuttleId = "laborcamp"
|
||||
possible_destinations = "laborcamp_home;laborcamp_away"
|
||||
req_access = list(access_brig)
|
||||
req_access = list(GLOB.access_brig)
|
||||
|
||||
|
||||
/obj/machinery/computer/shuttle/labor/one_way
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
return ..()
|
||||
|
||||
/obj/machinery/mineral/labor_claim_console/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = 0, \
|
||||
datum/tgui/master_ui = null, datum/ui_state/state = default_state)
|
||||
datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
|
||||
ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
|
||||
if(!ui)
|
||||
ui = new(user, src, ui_key, "labor_claim_console", name, 450, 475, master_ui, state)
|
||||
@@ -104,8 +104,8 @@
|
||||
to_chat(usr, "<span class='notice'>No permission to dock could be granted.</span>")
|
||||
else
|
||||
if(!emagged)
|
||||
Radio.set_frequency(SEC_FREQ)
|
||||
Radio.talk_into(src, "[inserted_id.registered_name] has returned to the station. Minerals and Prisoner ID card ready for retrieval.", SEC_FREQ)
|
||||
Radio.set_frequency(GLOB.SEC_FREQ)
|
||||
Radio.talk_into(src, "[inserted_id.registered_name] has returned to the station. Minerals and Prisoner ID card ready for retrieval.", GLOB.SEC_FREQ, get_spans(), get_default_language())
|
||||
to_chat(usr, "<span class='notice'>Shuttle received message and will be sent shortly.</span>")
|
||||
|
||||
/obj/machinery/mineral/labor_claim_console/proc/check_auth()
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
/obj/structure/closet/crate/necropolis/tendril
|
||||
desc = "It's watching you suspiciously."
|
||||
|
||||
/obj/structure/closet/crate/necropolis/tendril/New()
|
||||
/obj/structure/closet/crate/necropolis/tendril/Initialize()
|
||||
..()
|
||||
var/loot = rand(1,25)
|
||||
switch(loot)
|
||||
@@ -104,7 +104,7 @@
|
||||
icon_state = "lantern-blue"
|
||||
feedback_add_details("wisp_lantern","R") // returned
|
||||
|
||||
/obj/item/device/wisp_lantern/New()
|
||||
/obj/item/device/wisp_lantern/Initialize()
|
||||
..()
|
||||
wisp = new(src)
|
||||
|
||||
@@ -149,7 +149,7 @@
|
||||
desc = "A mysterious red cube."
|
||||
icon_state = "red_cube"
|
||||
|
||||
/obj/item/device/warp_cube/red/New()
|
||||
/obj/item/device/warp_cube/red/Initialize()
|
||||
..()
|
||||
if(!linked)
|
||||
var/obj/item/device/warp_cube/blue = new(src.loc)
|
||||
@@ -294,7 +294,7 @@
|
||||
name = "paradox bag"
|
||||
desc = "Somehow, it's in two places at once."
|
||||
|
||||
/obj/item/device/shared_storage/red/New()
|
||||
/obj/item/device/shared_storage/red/Initialize()
|
||||
..()
|
||||
if(!bag)
|
||||
var/obj/item/weapon/storage/backpack/shared/S = new(src)
|
||||
@@ -359,7 +359,7 @@
|
||||
name = "oar"
|
||||
icon = 'icons/obj/vehicles.dmi'
|
||||
icon_state = "oar"
|
||||
item_state = "rods"
|
||||
item_state = "oar"
|
||||
desc = "Not to be confused with the kind Research hassles you for."
|
||||
force = 12
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
@@ -453,7 +453,7 @@
|
||||
/obj/structure/closet/crate/necropolis/dragon
|
||||
name = "dragon chest"
|
||||
|
||||
/obj/structure/closet/crate/necropolis/dragon/New()
|
||||
/obj/structure/closet/crate/necropolis/dragon/Initialize()
|
||||
..()
|
||||
var/loot = rand(1,4)
|
||||
switch(loot)
|
||||
@@ -482,18 +482,18 @@
|
||||
var/summon_cooldown = 0
|
||||
var/list/mob/dead/observer/spirits
|
||||
|
||||
/obj/item/weapon/melee/ghost_sword/New()
|
||||
/obj/item/weapon/melee/ghost_sword/Initialize()
|
||||
..()
|
||||
spirits = list()
|
||||
START_PROCESSING(SSobj, src)
|
||||
poi_list |= src
|
||||
GLOB.poi_list |= src
|
||||
|
||||
/obj/item/weapon/melee/ghost_sword/Destroy()
|
||||
for(var/mob/dead/observer/G in spirits)
|
||||
G.invisibility = observer_default_invisibility
|
||||
G.invisibility = GLOB.observer_default_invisibility
|
||||
spirits.Cut()
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
poi_list -= src
|
||||
GLOB.poi_list -= src
|
||||
. = ..()
|
||||
|
||||
/obj/item/weapon/melee/ghost_sword/attack_self(mob/user)
|
||||
@@ -537,7 +537,7 @@
|
||||
current_spirits |= G
|
||||
|
||||
for(var/mob/dead/observer/G in spirits - current_spirits)
|
||||
G.invisibility = observer_default_invisibility
|
||||
G.invisibility = GLOB.observer_default_invisibility
|
||||
|
||||
spirits = current_spirits
|
||||
|
||||
@@ -634,7 +634,7 @@
|
||||
var/timer = 0
|
||||
var/banned_turfs
|
||||
|
||||
/obj/item/weapon/lava_staff/New()
|
||||
/obj/item/weapon/lava_staff/Initialize()
|
||||
. = ..()
|
||||
banned_turfs = typecacheof(list(/turf/open/space/transit, /turf/closed))
|
||||
|
||||
@@ -699,7 +699,7 @@
|
||||
/obj/structure/closet/crate/necropolis/bubblegum
|
||||
name = "bubblegum chest"
|
||||
|
||||
/obj/structure/closet/crate/necropolis/bubblegum/New()
|
||||
/obj/structure/closet/crate/necropolis/bubblegum/Initialize()
|
||||
..()
|
||||
var/loot = rand(1,3)
|
||||
switch(loot)
|
||||
@@ -722,7 +722,7 @@
|
||||
if(used)
|
||||
return
|
||||
used = TRUE
|
||||
var/choice = input(user,"Who do you want dead?","Choose Your Victim") as null|anything in player_list
|
||||
var/choice = input(user,"Who do you want dead?","Choose Your Victim") as null|anything in GLOB.player_list
|
||||
|
||||
if(!(isliving(choice)))
|
||||
to_chat(user, "[choice] is already dead!")
|
||||
@@ -747,7 +747,7 @@
|
||||
var/obj/effect/mine/pickup/bloodbath/B = new(L)
|
||||
B.mineEffect(L)
|
||||
|
||||
for(var/mob/living/carbon/human/H in player_list)
|
||||
for(var/mob/living/carbon/human/H in GLOB.player_list)
|
||||
if(H == L)
|
||||
continue
|
||||
to_chat(H, "<span class='userdanger'>You have an overwhelming desire to kill [L]. [L.p_they(TRUE)] [L.p_have()] been marked red! Go kill [L.p_them()]!</span>")
|
||||
@@ -975,7 +975,7 @@
|
||||
playsound(T,'sound/effects/bin_close.ogg', 200, 1)
|
||||
sleep(2)
|
||||
new /obj/effect/overlay/temp/hierophant/blast(T, user, friendly_fire_check)
|
||||
for(var/d in cardinal)
|
||||
for(var/d in GLOB.cardinal)
|
||||
INVOKE_ASYNC(src, .proc/blast_wall, T, d, user)
|
||||
|
||||
/obj/item/weapon/hierophant_club/proc/blast_wall(turf/T, dir, mob/living/user) //make a wall of blasts blast_range tiles long
|
||||
|
||||
@@ -10,8 +10,8 @@
|
||||
anchored = 1
|
||||
input_dir = NORTH
|
||||
output_dir = SOUTH
|
||||
req_access = list(access_mineral_storeroom)
|
||||
var/req_access_reclaim = access_mining_station
|
||||
req_access = list(GLOB.access_mineral_storeroom)
|
||||
var/req_access_reclaim = GLOB.access_mining_station
|
||||
var/stk_types = list()
|
||||
var/stk_amt = list()
|
||||
var/stack_list = list() //Key: Type. Value: Instance of type.
|
||||
@@ -85,7 +85,7 @@
|
||||
var/obj/item/stack/sheet/sheet = stack_list[s]
|
||||
msg += "[capitalize(sheet.name)]: [sheet.amount] sheets<br>"
|
||||
|
||||
for(var/obj/machinery/requests_console/D in allConsoles)
|
||||
for(var/obj/machinery/requests_console/D in GLOB.allConsoles)
|
||||
if(D.receive_ore_updates)
|
||||
D.createmessage("Ore Redemption Machine", "New minerals available!", msg, 1, 0)
|
||||
|
||||
|
||||
@@ -52,7 +52,6 @@
|
||||
new /datum/data/mining_equipment("Drone AI Upgrade", /obj/item/slimepotion/sentience/mining, 1000),
|
||||
new /datum/data/mining_equipment("Jump Boots", /obj/item/clothing/shoes/bhop, 2500),
|
||||
new /datum/data/mining_equipment("Survival Knife", /obj/item/weapon/kitchen/knife/combat/survival, 350),
|
||||
new /datum/data/mining_equipment("Survival Pen Economy Pack",/obj/item/weapon/storage/box/medipens/survival, 2000),
|
||||
new /datum/data/mining_equipment("Stimpack", /obj/item/weapon/reagent_containers/hypospray/medipen/stimpack, 250),
|
||||
new /datum/data/mining_equipment("Stimpack Economy Pack",/obj/item/weapon/storage/box/medipens/utility, 1000)
|
||||
)
|
||||
@@ -276,10 +275,10 @@
|
||||
/obj/item/weapon/card/mining_access_card/afterattack(atom/movable/AM, mob/user, proximity)
|
||||
if(istype(AM, /obj/item/weapon/card/id) && proximity)
|
||||
var/obj/item/weapon/card/id/I = AM
|
||||
I.access |= access_mining
|
||||
I.access |= access_mining_station
|
||||
I.access |= access_mineral_storeroom
|
||||
I.access |= access_cargo
|
||||
I.access |= GLOB.access_mining
|
||||
I.access |= GLOB.access_mining_station
|
||||
I.access |= GLOB.access_mineral_storeroom
|
||||
I.access |= GLOB.access_cargo
|
||||
to_chat(user, "You upgrade [I] with mining access.")
|
||||
qdel(src)
|
||||
..()
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
/obj/structure/closet/secure_closet/miner
|
||||
name = "miner's equipment"
|
||||
icon_state = "mining"
|
||||
req_access = list(access_mining)
|
||||
req_access = list(GLOB.access_mining)
|
||||
|
||||
/obj/structure/closet/secure_closet/miner/New()
|
||||
..()
|
||||
@@ -68,7 +68,7 @@
|
||||
var/global/list/dumb_rev_heads = list()
|
||||
|
||||
/obj/machinery/computer/shuttle/mining/attack_hand(mob/user)
|
||||
if(user.z == ZLEVEL_STATION && user.mind && (user.mind in ticker.mode.head_revolutionaries) && !(user.mind in dumb_rev_heads))
|
||||
if(user.z == ZLEVEL_STATION && user.mind && (user.mind in SSticker.mode.head_revolutionaries) && !(user.mind in dumb_rev_heads))
|
||||
to_chat(user, "<span class='warning'>You get a feeling that leaving the station might be a REALLY dumb idea...</span>")
|
||||
dumb_rev_heads += user.mind
|
||||
return
|
||||
@@ -389,16 +389,18 @@
|
||||
name = "dusty survival pod storage"
|
||||
desc = "A heated storage unit. This one's seen better days."
|
||||
|
||||
/obj/machinery/smartfridge/survival_pod/empty/New()
|
||||
return()
|
||||
/obj/machinery/smartfridge/survival_pod/empty/Initialize(mapload)
|
||||
..(mapload, TRUE)
|
||||
|
||||
/obj/machinery/smartfridge/survival_pod/accept_check(obj/item/O)
|
||||
if(istype(O, /obj/item))
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/obj/machinery/smartfridge/survival_pod/New()
|
||||
/obj/machinery/smartfridge/survival_pod/Initialize(mapload, empty)
|
||||
..()
|
||||
if(empty)
|
||||
return
|
||||
for(var/i in 1 to 5)
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/donkpocket/warm/W = new(src)
|
||||
load(W)
|
||||
|
||||
@@ -130,13 +130,13 @@
|
||||
if(istype(target, /obj/item/weapon/ore) && mode == MINEDRONE_COLLECT)
|
||||
CollectOre()
|
||||
return
|
||||
..()
|
||||
return ..()
|
||||
|
||||
/mob/living/simple_animal/hostile/mining_drone/proc/CollectOre()
|
||||
var/obj/item/weapon/ore/O
|
||||
for(O in src.loc)
|
||||
O.loc = src
|
||||
for(var/dir in alldirs)
|
||||
for(var/dir in GLOB.alldirs)
|
||||
var/turf/T = get_step(src,dir)
|
||||
for(O in T)
|
||||
O.loc = src
|
||||
@@ -195,13 +195,14 @@
|
||||
|
||||
/datum/action/innate/minedrone/toggle_meson_vision/Activate()
|
||||
var/mob/living/simple_animal/hostile/mining_drone/user = owner
|
||||
|
||||
if(user.sight & SEE_TURFS)
|
||||
user.sight &= ~SEE_TURFS
|
||||
user.see_invisible = SEE_INVISIBLE_LIVING
|
||||
user.lighting_alpha = LIGHTING_PLANE_ALPHA_VISIBLE
|
||||
else
|
||||
user.sight |= SEE_TURFS
|
||||
user.see_invisible = SEE_INVISIBLE_MINIMUM
|
||||
user.lighting_alpha = LIGHTING_PLANE_ALPHA_INVISIBLE
|
||||
|
||||
user.sync_lighting_plane_alpha()
|
||||
|
||||
to_chat(user, "<span class='notice'>You toggle your meson vision [(user.sight & SEE_TURFS) ? "on" : "off"].</span>")
|
||||
|
||||
|
||||
@@ -270,7 +270,7 @@
|
||||
explosion(src.loc,-1,1,3,adminlog = notify_admins)
|
||||
qdel(src)
|
||||
|
||||
/obj/item/weapon/ore/New()
|
||||
/obj/item/weapon/ore/Initialize()
|
||||
..()
|
||||
pixel_x = rand(0,16)-8
|
||||
pixel_y = rand(0,8)-8
|
||||
@@ -297,68 +297,73 @@
|
||||
var/cooldown = 0
|
||||
var/value = 1
|
||||
|
||||
/obj/item/weapon/coin/New()
|
||||
/obj/item/weapon/coin/Initialize()
|
||||
..()
|
||||
pixel_x = rand(0,16)-8
|
||||
pixel_y = rand(0,8)-8
|
||||
|
||||
icon_state = "coin_[cmineral]_heads"
|
||||
if(cmineral)
|
||||
name = "[cmineral] coin"
|
||||
|
||||
/obj/item/weapon/coin/examine(mob/user)
|
||||
..()
|
||||
if(value)
|
||||
to_chat(user, "<span class='info'>It's worth [value] credit\s.</span>")
|
||||
|
||||
/obj/item/weapon/coin/gold
|
||||
name = "gold coin"
|
||||
cmineral = "gold"
|
||||
icon_state = "coin_gold_heads"
|
||||
value = 50
|
||||
materials = list(MAT_GOLD = MINERAL_MATERIAL_AMOUNT*0.2)
|
||||
|
||||
/obj/item/weapon/coin/silver
|
||||
name = "silver coin"
|
||||
cmineral = "silver"
|
||||
icon_state = "coin_silver_heads"
|
||||
value = 20
|
||||
materials = list(MAT_SILVER = MINERAL_MATERIAL_AMOUNT*0.2)
|
||||
|
||||
/obj/item/weapon/coin/diamond
|
||||
name = "diamond coin"
|
||||
cmineral = "diamond"
|
||||
icon_state = "coin_diamond_heads"
|
||||
value = 500
|
||||
materials = list(MAT_DIAMOND = MINERAL_MATERIAL_AMOUNT*0.2)
|
||||
|
||||
/obj/item/weapon/coin/iron
|
||||
name = "iron coin"
|
||||
cmineral = "iron"
|
||||
icon_state = "coin_iron_heads"
|
||||
value = 1
|
||||
materials = list(MAT_METAL = MINERAL_MATERIAL_AMOUNT*0.2)
|
||||
|
||||
/obj/item/weapon/coin/plasma
|
||||
name = "plasma coin"
|
||||
cmineral = "plasma"
|
||||
icon_state = "coin_plasma_heads"
|
||||
value = 100
|
||||
materials = list(MAT_PLASMA = MINERAL_MATERIAL_AMOUNT*0.2)
|
||||
|
||||
/obj/item/weapon/coin/uranium
|
||||
name = "uranium coin"
|
||||
cmineral = "uranium"
|
||||
icon_state = "coin_uranium_heads"
|
||||
value = 80
|
||||
materials = list(MAT_URANIUM = MINERAL_MATERIAL_AMOUNT*0.2)
|
||||
|
||||
/obj/item/weapon/coin/clown
|
||||
name = "bananium coin"
|
||||
cmineral = "bananium"
|
||||
icon_state = "coin_bananium_heads"
|
||||
value = 1000 //makes the clown cry
|
||||
materials = list(MAT_BANANIUM = MINERAL_MATERIAL_AMOUNT*0.2)
|
||||
|
||||
/obj/item/weapon/coin/adamantine
|
||||
name = "adamantine coin"
|
||||
cmineral = "adamantine"
|
||||
icon_state = "coin_adamantine_heads"
|
||||
value = 1500
|
||||
|
||||
/obj/item/weapon/coin/mythril
|
||||
name = "mythril coin"
|
||||
cmineral = "mythril"
|
||||
icon_state = "coin_mythril_heads"
|
||||
value = 3000
|
||||
@@ -379,9 +384,6 @@
|
||||
sideslist = list("valid", "salad")
|
||||
value = 0
|
||||
|
||||
/obj/item/weapon/coin/antagtoken/New()
|
||||
return
|
||||
|
||||
/obj/item/weapon/coin/attackby(obj/item/weapon/W, mob/user, params)
|
||||
if(istype(W, /obj/item/stack/cable_coil))
|
||||
var/obj/item/stack/cable_coil/CC = W
|
||||
@@ -411,12 +413,12 @@
|
||||
else ..()
|
||||
|
||||
/obj/item/weapon/coin/attack_self(mob/user)
|
||||
if(cooldown < world.time - 15)
|
||||
if(cooldown < world.time)
|
||||
if(string_attached) //does the coin have a wire attached
|
||||
to_chat(user, "<span class='warning'>The coin won't flip very well with something attached!</span>" )
|
||||
return //do not flip the coin
|
||||
var/coinflip = pick(sideslist)
|
||||
cooldown = world.time
|
||||
cooldown = world.time + 15
|
||||
flick("coin_[cmineral]_flip", src)
|
||||
icon_state = "coin_[cmineral]_[coinflip]"
|
||||
playsound(user.loc, 'sound/items/coinflip.ogg', 50, 1)
|
||||
|
||||
Reference in New Issue
Block a user