diff --git a/code/__defines/borg_overlays.dm b/code/__defines/borg_overlays.dm index 54d1ec327e..f281b6ee49 100644 --- a/code/__defines/borg_overlays.dm +++ b/code/__defines/borg_overlays.dm @@ -56,6 +56,6 @@ /* /datum/robot_sprite/combat/fluff/foopwotch/handle_extra_icon_updates(var/mob/living/silicon/robot/ourborg) //Make sure the path is correct! ..() //THIS IS ESSENTIAL. IF YOU FORGET THIS LINE, YOU WILL NOT GET THE NORMAL SPRITES. - if(ourborg.has_active_type(/obj/item/weapon/combat_borgblade)) + if(ourborg.has_active_type(/obj/item/combat_borgblade)) ourborg.add_overlay("[sprite_icon_state]-dagger") */ diff --git a/code/_helpers/global_lists_vr.dm b/code/_helpers/global_lists_vr.dm index c23b2729de..7286506a4b 100644 --- a/code/_helpers/global_lists_vr.dm +++ b/code/_helpers/global_lists_vr.dm @@ -1073,6 +1073,7 @@ GLOBAL_LIST_INIT(area_or_turf_fail_types, typecacheof(list( /obj/item/airlock_electronics, \ /obj/item/tracker_electronics, \ /obj/item/module/power_control, \ + /obj/item/bluespace_crystal, \ /obj/item/stock_parts, \ /obj/item/frame, \ /obj/item/camera_assembly, \ @@ -1112,6 +1113,7 @@ GLOBAL_LIST_INIT(area_or_turf_fail_types, typecacheof(list( /obj/item/storage/pill_bottle, \ /obj/item/reagent_containers/pill, \ /obj/item/reagent_containers/blood, \ + /obj/item/nif, \ /obj/item/stack/material/phoron, \ /obj/item/tank/anesthetic, \ /obj/item/disk/body_record diff --git a/code/datums/outfits/jobs/cargo.dm b/code/datums/outfits/jobs/cargo.dm index 8bfb269012..8dc1d6052b 100644 --- a/code/datums/outfits/jobs/cargo.dm +++ b/code/datums/outfits/jobs/cargo.dm @@ -31,7 +31,7 @@ satchel_one = /obj/item/storage/backpack/satchel/eng id_type = /obj/item/card/id/cargo/miner pda_type = /obj/item/pda/shaftminer - backpack_contents = list(/obj/item/tool/crowbar = 1, /obj/item/storage/bag/ore = 1) + backpack_contents = list(/obj/item/tool/crowbar = 1, /obj/item/storage/bag/ore = 1, /obj/item/mining_voucher = 1) flags = OUTFIT_HAS_BACKPACK|OUTFIT_EXTENDED_SURVIVAL headset = /obj/item/radio/headset/miner diff --git a/code/modules/mining/ore_redemption_machine/equipment_vendor.dm b/code/modules/mining/ore_redemption_machine/equipment_vendor.dm index 72ea39e71a..ca21e2ed81 100644 --- a/code/modules/mining/ore_redemption_machine/equipment_vendor.dm +++ b/code/modules/mining/ore_redemption_machine/equipment_vendor.dm @@ -248,27 +248,25 @@ inserted_id = null if("purchase") if(!inserted_id) - flick(icon_deny, src) //VOREStation Add + flick(icon_deny, src) return var/category = params["cat"] // meow var/name = params["name"] if(!(category in prize_list) || !(name in prize_list[category])) // Not trying something that's not in the list, are you? - flick(icon_deny, src) //VOREStation Add + flick(icon_deny, src) return var/datum/data/mining_equipment/prize = prize_list[category][name] if(prize.cost > get_points(inserted_id)) // shouldn't be able to access this since the button is greyed out, but.. to_chat(ui.user, span_danger("You have insufficient points.")) - flick(icon_deny, src) //VOREStation Add + flick(icon_deny, src) return remove_points(inserted_id, prize.cost) - //VOREStation Edit Start var/obj/I = new prize.equipment_path(loc) I.persist_storable = FALSE - //VOREStation Edit End - flick(icon_vend, src) //VOREStation Add + flick(icon_vend, src) else - flick(icon_deny, src) //VOREStation Add + flick(icon_deny, src) return FALSE add_fingerprint() @@ -308,23 +306,62 @@ * * redeemer - The person holding it */ /obj/machinery/mineral/equipment_vendor/proc/redeem_voucher(obj/item/mining_voucher/voucher, mob/redeemer) - var/selection = tgui_input_list(redeemer, "Pick your equipment", "Mining Voucher Redemption", list("Kinetic Accelerator", "Resonator", "Mining Drone", "Advanced Scanner", "Crusher")) - if(!selection || !Adjacent(redeemer) || voucher.loc != redeemer) - return - //VOREStation Edit Start - Uncommented these + to_chat(redeemer, "You insert your voucher into the machine!") + var/selection = tgui_input_list(redeemer, "Pick your equipment.", "Mining Voucher Redemption", list("Kinetic Accelerator + KA Addon", "Resonator + Advanced Ore Scanner", "Survival Pistol & Machete + Survival Addon","1000 Points")) var/drop_location = drop_location() + if(!Adjacent(redeemer)) + to_chat(redeemer, "You must stay near the machine to use it.") + return + if(!selection) + to_chat(redeemer, "You decide not to redeem anything for now.") + return switch(selection) - if("Kinetic Accelerator") + + if("Kinetic Accelerator + KA Addon") //1250-2100 points worth + var/addon_selection = tgui_input_list(redeemer, "Pick your addon", "Mining Voucher Redemption", list("Cooldown", "Range","Holster")) //Just the basics. Nothing too crazy. + if(!addon_selection) + to_chat(redeemer, "You must select an addon.") + return new /obj/item/gun/energy/kinetic_accelerator(drop_location) - if("Resonator") + switch(addon_selection) + if("Cooldown") + new /obj/item/borg/upgrade/modkit/cooldown(drop_location) + if("Range") + new /obj/item/borg/upgrade/modkit/range(drop_location) + if("Holster") + new /obj/item/clothing/accessory/holster/waist/kinetic_accelerator(drop_location) + + + if("Resonator + Advanced Ore Scanner") //1400 points worth new /obj/item/resonator(drop_location) - //VOREStation Edit End - // if("Mining Drone") - // new /obj/item/storage/box/drone_kit(drop_location) - // if("Advanced Scanner") - // new /obj/item/t_scanner/adv_mining_scanner(drop_location) - // if("Crusher") - // new /obj/item/twohanded/required/mining_hammer(drop_location) + new /obj/item/mining_scanner/advanced(drop_location) + qdel(voucher) + + if("Survival Pistol & Machete + Survival Addon") // ~3000-3500 points worth. + var/addon_selection = tgui_input_list(redeemer, "Pick your survival addon", "Mining Voucher Redemption", list("Shelter Capsule", "Glucose", "Panacea", "Trauma", "Medipens")) //Just the basics. Nothing too crazy. + if(!addon_selection) + to_chat(redeemer, "You must select an addon.") + return + new /obj/item/gun/energy/phasegun/pistol(drop_location) //1500 + new /obj/item/material/knife/machete(drop_location) //1000 + switch(addon_selection) + if("Shelter Capsule") + new /obj/item/survivalcapsule(drop_location) //500 + if("Glucose") + new /obj/item/reagent_containers/hypospray/autoinjector/biginjector/glucose(drop_location) //500 + if("Panacea") + new /obj/item/reagent_containers/hypospray/autoinjector/biginjector/purity(drop_location) //500 + if("Trauma") + new /obj/item/reagent_containers/hypospray/autoinjector/biginjector/brute(drop_location) //500 + if("Medipens") + var/obj/item/storage/box/medbox = new /obj/item/storage/box(drop_location) //1000 + new /obj/item/reagent_containers/hypospray/autoinjector/burn(medbox) + new /obj/item/reagent_containers/hypospray/autoinjector/detox(medbox) + new /obj/item/reagent_containers/hypospray/autoinjector/oxy(medbox) + new /obj/item/reagent_containers/hypospray/autoinjector/trauma(medbox) + if("1000 Points") //1000 points + var/obj/item/card/mining_point_card/new_card = new(drop_location) + new_card.mine_points = 1000 qdel(voucher) /obj/machinery/mineral/equipment_vendor/proc/new_prize(var/name, var/path, var/cost) // Generic proc for adding new entries. Good for abusing for FUN and PROFIT. diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index e99e33f3c2..10cf0bf289 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -428,7 +428,7 @@ emp_act if(stat != DEAD && istype(O,/obj/item) && trash_catching && vore_selected) //Ported from chompstation var/obj/item/I = O if(adminbus_trash || is_type_in_list(I, GLOB.edible_trash) && I.trash_eatable && !is_type_in_list(I, GLOB.item_vore_blacklist)) - visible_message(span_warning("[I] is thrown directly into [src]'s [lowertext(vore_selected.name)]!")) + visible_message(span_vwarning("[I] is thrown directly into [src]'s [lowertext(vore_selected.name)]!")) I.throwing = 0 I.forceMove(vore_selected) return diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 91520f0e5c..54c6a2429b 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -262,7 +262,7 @@ if(stat != DEAD && istype(O,/obj/item) && trash_catching && vore_selected) //ported from chompstation var/obj/item/I = O if(adminbus_trash || is_type_in_list(I, GLOB.edible_trash) && I.trash_eatable && !is_type_in_list(I, GLOB.item_vore_blacklist)) - visible_message(span_warning("[I] is thrown directly into [src]'s [lowertext(vore_selected.name)]!")) + visible_message(span_vwarning("[I] is thrown directly into [src]'s [lowertext(vore_selected.name)]!")) I.throwing = 0 I.forceMove(vore_selected) return