diff --git a/code/controllers/subsystems/machinery.dm b/code/controllers/subsystems/machinery.dm index abeecf454df..0c6a5473cf6 100644 --- a/code/controllers/subsystems/machinery.dm +++ b/code/controllers/subsystems/machinery.dm @@ -145,7 +145,7 @@ if (EQUIP) A.used_equip += M.use_power == 2 ? M.active_power_usage : M.idle_power_usage if (LIGHT) - A.used_equip += M.use_power == 2 ? M.active_power_usage : M.idle_power_usage + A.used_light += M.use_power == 2 ? M.active_power_usage : M.idle_power_usage if (ENVIRON) A.used_environ += M.use_power == 2 ? M.active_power_usage : M.idle_power_usage else // ?! diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 76b650c48cd..1fb2c1dc2b6 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -112,11 +112,15 @@ var/global/list/additional_antag_types = list() message_admins("Admin [key_name_admin(usr)] added [antag.role_text] template to game mode.") // I am very sure there's a better way to do this, but I'm not sure what it might be. ~Z - spawn(1) + // yes there is. but let me first immortalize this code. +/* spawn(1) for(var/datum/admins/admin in world) if(usr.client == admin.owner) admin.show_game_mode(usr) - return + return */ + + if (usr.client && usr.client.holder) + usr.client.holder.show_game_mode(usr) /datum/game_mode/proc/announce() //to be called when round starts world << "The current game mode is [capitalize(name)]!" diff --git a/code/game/objects/items/weapons/cards_ids.dm b/code/game/objects/items/weapons/cards_ids.dm index 8d448e14717..18f261231cd 100644 --- a/code/game/objects/items/weapons/cards_ids.dm +++ b/code/game/objects/items/weapons/cards_ids.dm @@ -332,14 +332,14 @@ var/const/NO_EMAG_ACT = -50 access = get_all_station_access() + access_synth ..() -/obj/item/weapon/card/id/synthetic/minedrone +/obj/item/weapon/card/id/minedrone name = "\improper Minedrone ID" desc = "Access module for NanoTrasen Minedrones" icon_state = "id-robot" item_state = "tdgreen" assignment = "Minedrone" -/obj/item/weapon/card/id/synthetic/minedrone/New() +/obj/item/weapon/card/id/minedrone/New() access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station) ..() diff --git a/code/game/objects/items/weapons/gift_wrappaper.dm b/code/game/objects/items/weapons/gift_wrappaper.dm index f1291bf2484..9c91f9c44d2 100644 --- a/code/game/objects/items/weapons/gift_wrappaper.dm +++ b/code/game/objects/items/weapons/gift_wrappaper.dm @@ -202,12 +202,16 @@ /obj/item/weapon/xmasgift/New() ..() - var/gift_benefactor = pick("John Rolf","Isaac Bureaurgard","David Montrello","Sarah Karpac","Camille Rodgers","Luke Lawrence","Goliath Grills","Torbjorn","Odin","Jesus DeSanto","Santa Claus","Ms. Claus","Mr. Claus","Bjorn","Frodo","Gandalf","Elrond", - "Robert Heinlen","Martin Fresco","Lawrence Chamberlain","Buster Kilrain","Nerevar","Neville Trouserkepling","Adam Sortings","Eve's Grocers","Father Christmas","Adolph Romkippler","Adolf Strange","Camille","Maximilian von Biesel","Max","Bob Wallace", - "The Grinch","Cicilia Simon","John F. Kennedy","Joseph Dorn","Mendell City","Ta�Akaix�Scay�extiih�aur Zo�ra","Ta'Akaix'Vaur'skiyet'sca Zo'ra","Miranda Trasen","Jiub","The Biesellian National Guard","The ERT","Baal D. Griffon","Hephaestus Industries","The Sol Alliance (Sorry about the blockade!") + var/gift_benefactor = pick("the NanoTrasen Department of Christmas Affairs", "Miranda Trasen", "Joseph Dorne", "Isaac Asimov", "Baal D. Griffon", "the Sol Alliance (Sorry about the blockade!)", + "Hephaestus Industries", "Idris Incorporated", "Glorsh Omega II", "the Jargon Federation", "the People's Republic of Adhomai", "the Adhomai Liberation Army", "the Izweski Hegemony", + "the Zo'ra Hive","the Frontier Alliance", "Digital Dingo", "Optimum Jeffrey", "Lemmy and the Clockworks", "President Hadii", "King Azunja","Supreme Commander Nated'Hakhan", + "Lord-Regent Not'zar","Jesus Christ","Santa Claus","Mrs. Claus","Sandy Claws","Buddha","Gary","Jesus Christ!","the True Queen of Biesel, God-Lady Seon-rin von Illdenberg, First of Her Name", + "Admiral Frost","Pirate King Frost", "The Secret NanoTrasen Cabal of Duty Officers", "The Society for the Preservation of Mice", "Officer Beepsky","Lieutenant Columbo","B.O.B","Runtime", + "Bones","Chauncey","Ian","Pun Pun","Nup Nup","Waldo","Odlaw","Crew of the NSS Exodus", "Custodial Staff of the NTCC Odin","ERT Phoenix","grey slime (357)","Bob the Blob","People for the Ethical Treatment of Bluespace Bears", + "Mr. Clown and Mrs. Mime from New Puerto Rico","the Grinch","the Krampus","Satan","Mega-Satan","\[BENEFACTOR REDACTED]\","Bluespace Cat","Union of Bluespace Technicians Tau Ceti","Robo Mickey Mouse") var/pick_emotion = pick("love","platonic admiration","approval","love (not in a sexual way or anything, though)","apathy", "schadenfreude","love","God's blessing","Santa's blessing","Non-demoninational deity's blessing","love","compassion","appreciation", "respect","begrudging respect","love") - desc = "To: The [station_name()]
From: [gift_benefactor], with [pick_emotion]" + desc = "To: The [station_name()]
From: [gift_benefactor], with [pick_emotion]" return @@ -217,12 +221,17 @@ /obj/item/weapon/xmasgift/small/attack_self(mob/M as mob) var/gift_type = pick( + /obj/random/action_figure, + /obj/random/coin, + /obj/random/spacecash, + /obj/random/glowstick, /obj/item/weapon/storage/wallet, /obj/item/weapon/storage/photo_album, /obj/item/weapon/storage/box/snappops, /obj/item/weapon/storage/fancy/crayons, /obj/item/weapon/soap/deluxe, /obj/item/weapon/pen/invisible, + /obj/item/clothing/gloves/watch, /obj/item/weapon/lipstick/random, /obj/item/weapon/corncob, /obj/item/weapon/bikehorn, @@ -242,9 +251,7 @@ /obj/item/toy/prize/seraph, /obj/item/device/paicard, /obj/item/clothing/accessory/horrible, - /obj/item/weapon/coin/silver, /obj/item/device/camera, - /obj/item/weapon/coin/gold, /obj/item/bluespace_crystal, /obj/item/weapon/flame/lighter/zippo, /obj/item/device/taperecorder, @@ -265,9 +272,24 @@ /obj/item/trash/koisbar, /obj/item/weapon/xmasgift/medium, /obj/item/toy/syndicateballoon, - /obj/item/toy/xmastree) + /obj/item/toy/xmastree, + /obj/item/clothing/accessory/medal/gold/heroism, + /obj/item/clothing/accessory/medal/nobel_science, + /obj/item/clothing/accessory/medal/bronze_heart, + /obj/item/clothing/accessory/medal/silver/valor, + /obj/item/bluespace_crystal, + /obj/random/junk, + /obj/item/weapon/gun/energy/mousegun, + /obj/item/weapon/gun/energy/wand/toy, + /obj/item/weapon/mirror, + /obj/item/weapon/ore/coal, + /obj/item/weapon/ore/coal, + /obj/item/weapon/ore/coal, + /obj/item/weapon/stamp/clown, + /obj/item/organ/heart/skrell, + /obj/item/latexballon) - var/atom/movable/I = new gift_type(M) + var/atom/movable/I = new gift_type(get_turf(M)) M.remove_from_mob(src) M.put_in_hands(I) M << "You open the gift, revealing your new [I.name]! Just what you always wanted!" @@ -282,6 +304,7 @@ /obj/item/weapon/xmasgift/medium/attack_self(mob/M as mob) var/gift_type = pick( /obj/item/weapon/sord, + /obj/random/booze, /obj/item/weapon/storage/belt/champion, /obj/item/weapon/pickaxe/silver, /obj/item/weapon/grenade/smokebomb, @@ -312,9 +335,29 @@ /obj/item/weapon/xmasgift/small, /obj/item/weapon/tank/jetpack/void, /obj/item/weapon/xmasgift/large, - /obj/item/weapon/reagent_containers/food/snacks/pudding) + /obj/item/weapon/reagent_containers/food/snacks/pudding, + /obj/item/weapon/contraband/poster, + /obj/item/clothing/head/hardhat/red/atmos, + /mob/living/bot/cleanbot, + /obj/item/vaurca/box, + /obj/item/device/binoculars, + /obj/item/device/camera, + /obj/item/device/gps, + /obj/item/device/uv_light, + /obj/random/loot, + /obj/random/contraband, + /obj/item/weapon/autochisel, + /obj/item/weapon/melee/vaurca/rock, + /obj/item/weapon/ore/coal, + /obj/item/weapon/ore/coal, + /obj/item/weapon/ore/coal, + /obj/item/weapon/phone, + /obj/item/device/dociler, + /obj/item/device/flashlight/maglight, + /obj/item/device/megaphone, + /obj/item/device/violin) - var/atom/movable/I = new gift_type(M) + var/atom/movable/I = new gift_type(get_turf(M)) M.remove_from_mob(src) if (!M.put_in_hands(I)) M.forceMove(get_turf(src)) @@ -335,6 +378,8 @@ /obj/item/clothing/under/syndicate/tracksuit, /obj/item/clothing/under/rank/clown, /obj/item/clothing/under/mime, + /obj/item/clothing/under/rank/fatigues/marine, + /obj/item/clothing/under/rank/dress/marine, /mob/living/simple_animal/cat/kitten, /mob/living/simple_animal/chick, /mob/living/simple_animal/corgi/puppy, @@ -343,9 +388,20 @@ /obj/item/weapon/xmasgift/medium, /obj/item/weapon/tank/jetpack, /obj/structure/plushie/drone, - /obj/structure/plushie/ivancarp,) + /obj/structure/plushie/ivancarp, + /obj/item/weapon/grenade/spawnergrenade/vaurca, + /obj/item/weapon/ore/coal, + /obj/item/weapon/ore/coal, + /obj/item/weapon/ore/coal, + /obj/item/weapon/mass_driver_diy, + /mob/living/simple_animal/crab, + /mob/living/simple_animal/parrot, + /mob/living/simple_animal/hostile/commanded/dog/pug, + /obj/item/clothing/suit/space/void/vaurca, + /obj/item/clothing/head/helmet/space/void/vaurca, + /obj/item/target/alien) - var/atom/movable/I = new gift_type(M) + var/atom/movable/I = new gift_type(get_turf(M)) M.remove_from_mob(src) M.put_in_hands(I) M << "You open the gift, revealing your new [I.name]! Just what you always wanted!" diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index c3910928135..86d48a949ff 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -436,6 +436,8 @@ if(!E) return var/safety = H.eyecheck() + if(H.status_flags & GODMODE) + return switch(safety) if(FLASH_PROTECTION_MODERATE) usr << "Your eyes sting a little." diff --git a/code/game/objects/structures/signs.dm b/code/game/objects/structures/signs.dm index 8cf1feb7879..7e598249bbb 100644 --- a/code/game/objects/structures/signs.dm +++ b/code/game/objects/structures/signs.dm @@ -236,7 +236,7 @@ desc = "Flashy." icon = 'icons/obj/christmas.dmi' icon_state = "xmaslights" - layer = 5 + layer = 4.9 /obj/structure/sign/christmas/wreath name = "wreath" diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index 632cc091412..b993add9039 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -377,7 +377,8 @@ var/list/admin_verbs_cciaa = list( /client/proc/view_duty_log, /datum/admins/proc/create_admin_fax, /client/proc/check_fax_history, - /client/proc/aooc + /client/proc/aooc, + /client/proc/check_antagonists ) /client/proc/add_admin_verbs() @@ -1123,7 +1124,7 @@ var/list/admin_verbs_cciaa = list( SSsunlight.apply_sun_state(S) log_and_message_admins("has set the sun state to '[S]'.") -#else +#else /client/proc/apply_sunstate() set hidden = TRUE diff --git a/code/modules/admin/verbs/bluespacetech.dm b/code/modules/admin/verbs/bluespacetech.dm index 03eda5b289b..604deac43d1 100644 --- a/code/modules/admin/verbs/bluespacetech.dm +++ b/code/modules/admin/verbs/bluespacetech.dm @@ -445,6 +445,7 @@ vision_flags = (SEE_TURFS|SEE_OBJS|SEE_MOBS) see_invisible = SEE_INVISIBLE_NOLIGHTING canremove = 0 + flash_protection = FLASH_PROTECTION_MAJOR /obj/item/clothing/glasses/sunglasses/bst/verb/toggle_xray(mode in list("X-Ray without Lighting", "X-Ray with Lighting", "Normal")) set name = "Change Vision Mode" diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm index bea2068f2b8..31bcf58f3ba 100644 --- a/code/modules/mining/machine_vending.dm +++ b/code/modules/mining/machine_vending.dm @@ -6,61 +6,61 @@ // should be bling. Things that shorten the distance between base and mining. Instant-teleporters should be one use. var/global/list/minevendor_list = list( //keep in order of price new /datum/data/mining_equipment("Food Ration", /obj/item/weapon/reagent_containers/food/snacks/liquidfood, 10, 5), - new /datum/data/mining_equipment("Poster", /obj/item/weapon/contraband/poster, 10, 20), - new /datum/data/mining_equipment("Ore Scanner Pad", /obj/item/weapon/ore_radar, 10, 50), - new /datum/data/mining_equipment("5 Red Flags", /obj/item/stack/flag/red, 10, 50), - new /datum/data/mining_equipment("5 Green Flags", /obj/item/stack/flag/green, 10, 50), - new /datum/data/mining_equipment("5 Yellow Flags", /obj/item/stack/flag/yellow, 10, 50), - new /datum/data/mining_equipment("5 Purple Flags", /obj/item/stack/flag/purple, 10, 50), - new /datum/data/mining_equipment("Ore-bag", /obj/item/weapon/storage/bag/ore, 25, 50), - new /datum/data/mining_equipment("Meat Pizza", /obj/item/pizzabox/meat, 25, 50), - new /datum/data/mining_equipment("Lantern", /obj/item/device/flashlight/lantern,10, 75), - new /datum/data/mining_equipment("Shovel", /obj/item/weapon/shovel, 15, 100), - new /datum/data/mining_equipment("Pickaxe", /obj/item/weapon/pickaxe, 10, 100), - new /datum/data/mining_equipment("KA White Tracer Rounds", /obj/item/borg/upgrade/modkit/tracer, 40, 100), - new /datum/data/mining_equipment("Compressed rail cartridge", /obj/item/weapon/rrf_ammo, 50, 100), - new /datum/data/mining_equipment("Ore Box", /obj/structure/ore_box, -1, 150, 1), - new /datum/data/mining_equipment("Emergency Floodlight", /obj/item/weapon/floodlight_diy, -1, 150, 1), - new /datum/data/mining_equipment("Premium Cigar", /obj/item/clothing/mask/smokable/cigarette/cigar/havana, 30, 150), - new /datum/data/mining_equipment("KA Adjustable Tracer Rounds", /obj/item/borg/upgrade/modkit/tracer/adjustable, 30, 150), - new /datum/data/mining_equipment("Seismic Charge", /obj/item/weapon/plastique/seismic, 25, 150), - new /datum/data/mining_equipment("Lottery Chip", /obj/item/weapon/spacecash/ewallet/lotto, 50, 200), - new /datum/data/mining_equipment("Ripley Paint Kit", /obj/item/device/kit/paint/ripley/random, 15, 200), - new /datum/data/mining_equipment("Material Scanners", /obj/item/clothing/glasses/material, 15, 200), - new /datum/data/mining_equipment("Mining Drill", /obj/item/weapon/pickaxe/drill, 10, 200), - new /datum/data/mining_equipment("Deep Ore Scanner", /obj/item/weapon/mining_scanner, 10, 250), - new /datum/data/mining_equipment("Magboots", /obj/item/clothing/shoes/magboots, 10, 300), - new /datum/data/mining_equipment("Autochisel", /obj/item/weapon/autochisel, 10, 400), - new /datum/data/mining_equipment("Jetpack", /obj/item/weapon/tank/jetpack, 10, 400), - new /datum/data/mining_equipment("Drone Drill Upgrade", /obj/item/device/mine_bot_ugprade, 10, 400), - new /datum/data/mining_equipment("Industrial Drill Brace", /obj/machinery/mining/brace, -1, 500, 1), - new /datum/data/mining_equipment("Point Transfer Card", /obj/item/weapon/card/mining_point_card, -1, 500), - new /datum/data/mining_equipment("Explorer's Belt", /obj/item/weapon/storage/belt/mining, 10, 500), - new /datum/data/mining_equipment("Item-Warp Beacon", /obj/item/warp_core, 25, 500), - new /datum/data/mining_equipment("Item-Warp Pack", /obj/item/weapon/extraction_pack, 25, 600), - new /datum/data/mining_equipment("Drone Health Upgrade", /obj/item/device/mine_bot_ugprade/health, 20, 600), - new /datum/data/mining_equipment("Rapid-Railway-Fabricator", /obj/item/weapon/rrf, 10, 600), - new /datum/data/mining_equipment("Brute First-Aid Kit", /obj/item/weapon/storage/firstaid/brute, 30, 600), - new /datum/data/mining_equipment("Ore Magnet", /obj/item/weapon/oremagnet, 10, 600), - new /datum/data/mining_equipment("Minecart", /obj/vehicle/train/cargo/trolley/mining, -1, 600, 1), - new /datum/data/mining_equipment("Resonator", /obj/item/weapon/resonator, 10, 700), - new /datum/data/mining_equipment("Mining RIG", /obj/item/weapon/rig/industrial, 5, 750), - new /datum/data/mining_equipment("KA Range Increase", /obj/item/borg/upgrade/modkit/range, 10, 750), - new /datum/data/mining_equipment("Jaunter", /obj/item/device/wormhole_jaunter, 20, 750), - new /datum/data/mining_equipment("Kinetic Accelerator", /obj/item/weapon/gun/energy/kinetic_accelerator, 10, 750), - new /datum/data/mining_equipment("100 credits", /obj/item/weapon/spacecash/c100, -1, 1000), - new /datum/data/mining_equipment("Mass Driver", /obj/item/weapon/mass_driver_diy, 5, 800), - new /datum/data/mining_equipment("Mining Drone", /mob/living/silicon/robot/drone/mining, 15, 800), - new /datum/data/mining_equipment("Minecart Engine", /obj/vehicle/train/cargo/engine/mining, -1, 800, 1), - new /datum/data/mining_equipment("Ore Summoner", /obj/item/weapon/oreportal, 35, 800), - new /datum/data/mining_equipment("KA Cooldown Decrease", /obj/item/borg/upgrade/modkit/cooldown, 15, 1000), - new /datum/data/mining_equipment("Lazarus Injector", /obj/item/weapon/lazarus_injector, 25, 1000), - new /datum/data/mining_equipment("Industrial Drill Head", /obj/machinery/mining/drill, -1, 1000, 1), - new /datum/data/mining_equipment("Super Resonator", /obj/item/weapon/resonator/upgraded, 10, 1250), - new /datum/data/mining_equipment("KA AoE Damage", /obj/item/borg/upgrade/modkit/aoe/turfs, 15, 1500), - new /datum/data/mining_equipment("Diamond Pickaxe", /obj/item/weapon/pickaxe/diamond, 10, 1500), - new /datum/data/mining_equipment("Drone Thermal Drill Upgrade", /obj/item/device/mine_bot_ugprade/thermal, 20, 2000), - new /datum/data/mining_equipment("Thermal Drill", /obj/item/weapon/gun/energy/vaurca/thermaldrill, 5, 3750) + new /datum/data/mining_equipment("Poster", /obj/item/weapon/contraband/poster, 10, 20), + new /datum/data/mining_equipment("Ore Scanner Pad", /obj/item/weapon/ore_radar, 10, 50), + new /datum/data/mining_equipment("5 Red Flags", /obj/item/stack/flag/red, 10, 50), + new /datum/data/mining_equipment("5 Green Flags", /obj/item/stack/flag/green, 10, 50), + new /datum/data/mining_equipment("5 Yellow Flags", /obj/item/stack/flag/yellow, 10, 50), + new /datum/data/mining_equipment("5 Purple Flags", /obj/item/stack/flag/purple, 10, 50), + new /datum/data/mining_equipment("Ore-bag", /obj/item/weapon/storage/bag/ore, 25, 50), + new /datum/data/mining_equipment("Meat Pizza", /obj/item/pizzabox/meat, 25, 50), + new /datum/data/mining_equipment("Lantern", /obj/item/device/flashlight/lantern, 10, 75), + new /datum/data/mining_equipment("Shovel", /obj/item/weapon/shovel, 15, 100), + new /datum/data/mining_equipment("Pickaxe", /obj/item/weapon/pickaxe, 10, 100), + new /datum/data/mining_equipment("KA White Tracer Rounds", /obj/item/borg/upgrade/modkit/tracer, 40, 100), + new /datum/data/mining_equipment("Compressed rail cartridge", /obj/item/weapon/rrf_ammo, 50, 100), + new /datum/data/mining_equipment("Ore Box", /obj/structure/ore_box, -1, 150, 1), + new /datum/data/mining_equipment("Emergency Floodlight", /obj/item/weapon/floodlight_diy, -1, 150, 1), + new /datum/data/mining_equipment("Premium Cigar", /obj/item/clothing/mask/smokable/cigarette/cigar/havana, 30, 150), + new /datum/data/mining_equipment("KA Adjustable Tracer Rounds", /obj/item/borg/upgrade/modkit/tracer/adjustable, 30, 150), + new /datum/data/mining_equipment("Seismic Charge", /obj/item/weapon/plastique/seismic, 25, 150), + new /datum/data/mining_equipment("Lottery Chip", /obj/item/weapon/spacecash/ewallet/lotto, 50, 200), + new /datum/data/mining_equipment("Ripley Paint Kit", /obj/item/device/kit/paint/ripley/random, 15, 200), + new /datum/data/mining_equipment("Material Scanners", /obj/item/clothing/glasses/material, 15, 200), + new /datum/data/mining_equipment("Mining Drill", /obj/item/weapon/pickaxe/drill, 10, 200), + new /datum/data/mining_equipment("Deep Ore Scanner", /obj/item/weapon/mining_scanner, 10, 250), + new /datum/data/mining_equipment("Magboots", /obj/item/clothing/shoes/magboots, 10, 300), + new /datum/data/mining_equipment("Autochisel", /obj/item/weapon/autochisel, 10, 400), + new /datum/data/mining_equipment("Jetpack", /obj/item/weapon/tank/jetpack, 10, 400), + new /datum/data/mining_equipment("Drone Drill Upgrade", /obj/item/device/mine_bot_ugprade, 10, 400), + new /datum/data/mining_equipment("Industrial Drill Brace", /obj/machinery/mining/brace, -1, 500, 1), + new /datum/data/mining_equipment("Point Transfer Card", /obj/item/weapon/card/mining_point_card, -1, 500), + new /datum/data/mining_equipment("Explorer's Belt", /obj/item/weapon/storage/belt/mining, 10, 500), + new /datum/data/mining_equipment("Item-Warp Beacon", /obj/item/warp_core, 25, 500), + new /datum/data/mining_equipment("Item-Warp Pack", /obj/item/weapon/extraction_pack, 25, 600), + new /datum/data/mining_equipment("Drone Health Upgrade", /obj/item/device/mine_bot_ugprade/health, 20, 600), + new /datum/data/mining_equipment("Rapid-Railway-Fabricator", /obj/item/weapon/rrf, 10, 600), + new /datum/data/mining_equipment("Brute First-Aid Kit", /obj/item/weapon/storage/firstaid/brute, 30, 600), + new /datum/data/mining_equipment("Ore Magnet", /obj/item/weapon/oremagnet, 10, 600), + new /datum/data/mining_equipment("Minecart", /obj/vehicle/train/cargo/trolley/mining, -1, 600, 1), + new /datum/data/mining_equipment("Resonator", /obj/item/weapon/resonator, 10, 700), + new /datum/data/mining_equipment("Mining RIG", /obj/item/weapon/rig/industrial, 5, 750), + new /datum/data/mining_equipment("KA Range Increase", /obj/item/borg/upgrade/modkit/range, 10, 750), + new /datum/data/mining_equipment("Jaunter", /obj/item/device/wormhole_jaunter, 20, 750), + new /datum/data/mining_equipment("Kinetic Accelerator", /obj/item/weapon/gun/energy/kinetic_accelerator, 10, 750), + new /datum/data/mining_equipment("100 credits", /obj/item/weapon/spacecash/c100, -1, 1000), + new /datum/data/mining_equipment("Mass Driver", /obj/item/weapon/mass_driver_diy, 5, 800), + new /datum/data/mining_equipment("Mining Drone", /mob/living/silicon/robot/drone/mining, 15, 800), + new /datum/data/mining_equipment("Minecart Engine", /obj/vehicle/train/cargo/engine/mining, -1, 800, 1), + new /datum/data/mining_equipment("Drone Kinetic Accelerator Upgrade", /obj/item/device/mine_bot_ugprade/ka, 10, 800), + new /datum/data/mining_equipment("Ore Summoner", /obj/item/weapon/oreportal, 35, 800), + new /datum/data/mining_equipment("KA Cooldown Decrease", /obj/item/borg/upgrade/modkit/cooldown, 15, 1000), + new /datum/data/mining_equipment("Lazarus Injector", /obj/item/weapon/lazarus_injector, 25, 1000), + new /datum/data/mining_equipment("Industrial Drill Head", /obj/machinery/mining/drill, -1, 1000, 1), + new /datum/data/mining_equipment("Super Resonator", /obj/item/weapon/resonator/upgraded, 10, 1250), + new /datum/data/mining_equipment("KA AoE Damage", /obj/item/borg/upgrade/modkit/aoe/turfs, 15, 1500), + new /datum/data/mining_equipment("Diamond Pickaxe", /obj/item/weapon/pickaxe/diamond, 10, 1500), + new /datum/data/mining_equipment("Thermal Drill", /obj/item/weapon/gun/energy/vaurca/thermaldrill, 5, 3750) ) /obj/machinery/mineral/equipment_vendor diff --git a/code/modules/mining/minebot.dm b/code/modules/mining/minebot.dm index 633056eb2e7..084857301ef 100644 --- a/code/modules/mining/minebot.dm +++ b/code/modules/mining/minebot.dm @@ -7,7 +7,7 @@ health = 45 pass_flags = PASSTABLE req_access = list(access_mining, access_robotics) - idcard_type = /obj/item/weapon/card/id/synthetic/minedrone + idcard_type = /obj/item/weapon/card/id/minedrone speed = -1 range_limit = 0 var/health_upgrade @@ -176,7 +176,7 @@ qdel(M.module) M.module = null if(M.ranged_upgrade) - new /obj/item/weapon/robot_module/mining_drone/drillandplasmacutter(M) + new /obj/item/weapon/robot_module/mining_drone/drillandka(M) else new /obj/item/weapon/robot_module/mining_drone/drill(M) M.module.rebuild() @@ -200,41 +200,24 @@ M.health_upgrade = 1 qdel(src) -/obj/item/device/mine_bot_ugprade/plasma - name = "minebot plasma cutter upgrade" +/obj/item/device/mine_bot_ugprade/ka + name = "minebot kinetic accelerator upgrade" -/obj/item/device/mine_bot_ugprade/plasma/upgrade_bot(var/mob/living/silicon/robot/drone/mining/M, mob/user) +/obj/item/device/mine_bot_ugprade/ka/upgrade_bot(var/mob/living/silicon/robot/drone/mining/M, mob/user) if(M.ranged_upgrade) - user << "[src] already has a plasma cutter upgrade installed!" + user << "[src] already has a KA upgrade installed!" return M.modtype = initial(M.modtype) M.uneq_all() qdel(M.module) M.module = null if(M.melee_upgrade) - new /obj/item/weapon/robot_module/mining_drone/drillandplasmacutter(M) + new /obj/item/weapon/robot_module/mining_drone/drillandka(M) else - new /obj/item/weapon/robot_module/mining_drone/plasmacutter(M) + new /obj/item/weapon/robot_module/mining_drone/ka(M) M.ranged_upgrade = 1 M.module.rebuild() M.recalculate_synth_capacities() if(!M.jetpack) M.jetpack = new /obj/item/weapon/tank/jetpack/carbondioxide/synthetic(src) - qdel(src) - -/obj/item/device/mine_bot_ugprade/thermal - name = "minebot thermal drill upgrade" - -/obj/item/device/mine_bot_ugprade/thermal/upgrade_bot(var/mob/living/silicon/robot/drone/mining/M, mob/user) - if(M.drill_upgrade) - user << "[src] already has a thermal drill!" - return - if(M.emagged == 1) - return 0 - - M.emagged = 1 - M.fakeemagged = 1 - M.drill_upgrade = 1 - if(!M.jetpack) - M.jetpack = new /obj/item/weapon/tank/jetpack/carbondioxide/synthetic(src) - qdel(src) + qdel(src) \ No newline at end of file diff --git a/code/modules/mob/living/silicon/ai/life.dm b/code/modules/mob/living/silicon/ai/life.dm index 266b44ddaf6..ea777f1f7ae 100644 --- a/code/modules/mob/living/silicon/ai/life.dm +++ b/code/modules/mob/living/silicon/ai/life.dm @@ -160,8 +160,12 @@ sight &= ~(SEE_TURFS | SEE_MOBS | SEE_OBJS) see_in_dark = 0 see_invisible = SEE_INVISIBLE_LIVING - else + else if(stat == DEAD) update_dead_sight() + else + sight |= (SEE_TURFS|SEE_MOBS|SEE_OBJS) + see_in_dark = 8 + see_invisible = SEE_INVISIBLE_LIVING /mob/living/silicon/ai/proc/is_blinded() var/area/A = get_area(src) diff --git a/code/modules/mob/living/silicon/robot/gripper.dm b/code/modules/mob/living/silicon/robot/gripper.dm index baac79e9e41..58c85ffc4eb 100644 --- a/code/modules/mob/living/silicon/robot/gripper.dm +++ b/code/modules/mob/living/silicon/robot/gripper.dm @@ -162,7 +162,7 @@ if(wrapped) //Already have an item. return//This is handled in /mob/living/silicon/robot/GripperClickOn - else if (istype(target, /obj/item/weapon/storage) && !istype(target, /obj/item/weapon/storage/secure)) + else if (istype(target, /obj/item/weapon/storage) && !istype(target, /obj/item/weapon/storage/pill_bottle) && !istype(target, /obj/item/weapon/storage/secure)) for (var/obj/item/C in target.contents) if (grip_item(C, user, 0)) user << "You grab the [C] from inside the [target.name]." diff --git a/code/modules/mob/living/silicon/robot/life.dm b/code/modules/mob/living/silicon/robot/life.dm index 7c27dc171b3..8ecc5d03660 100644 --- a/code/modules/mob/living/silicon/robot/life.dm +++ b/code/modules/mob/living/silicon/robot/life.dm @@ -150,14 +150,11 @@ ..() if (src.stat == 2 || (XRAY in mutations) || (src.sight_mode & BORGXRAY)) - src.sight |= SEE_TURFS - src.sight |= SEE_MOBS - src.sight |= SEE_OBJS + sight |= (SEE_TURFS | SEE_MOBS | SEE_OBJS) src.see_in_dark = 8 src.see_invisible = SEE_INVISIBLE_MINIMUM else if ((src.sight_mode & BORGMESON) && (src.sight_mode & BORGTHERM)) - src.sight |= SEE_TURFS - src.sight |= SEE_MOBS + sight |= (SEE_TURFS | SEE_MOBS) src.see_in_dark = 8 see_invisible = SEE_INVISIBLE_MINIMUM else if (src.sight_mode & BORGMESON) @@ -173,9 +170,7 @@ src.see_in_dark = 8 src.see_invisible = SEE_INVISIBLE_LEVEL_TWO else if (src.stat != 2) - src.sight &= ~SEE_MOBS - src.sight &= ~SEE_TURFS - src.sight &= ~SEE_OBJS + sight &= ~(SEE_TURFS | SEE_MOBS | SEE_OBJS) src.see_in_dark = 8 // see_in_dark means you can FAINTLY see in the dark, humans have a range of 3 or so, tajaran have it at 8 src.see_invisible = SEE_INVISIBLE_LIVING // This is normal vision (25), setting it lower for normal vision means you don't "see" things like darkness since darkness // has a "invisible" value of 15 diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 1054ef2d0e4..bebd8043b85 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -925,8 +925,8 @@ var/global/list/robot_modules = list( src.modules += new /obj/item/weapon/gripper/miner(src) src.modules += new /obj/item/weapon/mining_scanner(src) - src.emag = new /obj/item/weapon/gun/energy/vaurca/mountedthermaldrill(src) - src.emag.name = "Mounted Thermal Drill" + src.emag = new /obj/item/weapon/gun/energy/plasmacutter/mounted(src) + src.emag.name = "Mounted Plasma Cutter" ..() /obj/item/weapon/robot_module/mining_drone/drill/New(var/mob/living/silicon/robot/robot) @@ -938,33 +938,33 @@ var/global/list/robot_modules = list( src.modules += new /obj/item/weapon/gripper/miner(src) src.modules += new /obj/item/weapon/mining_scanner(src) - src.emag = new /obj/item/weapon/gun/energy/vaurca/mountedthermaldrill(src) - src.emag.name = "Mounted Thermal Drill" + src.emag = new /obj/item/weapon/gun/energy/plasmacutter/mounted(src) + src.emag.name = "Mounted Plasma Cutter" ..() -/obj/item/weapon/robot_module/mining_drone/plasmacutter/New(var/mob/living/silicon/robot/robot) +/obj/item/weapon/robot_module/mining_drone/ka/New(var/mob/living/silicon/robot/robot) src.modules += new /obj/item/device/flash(src) src.modules += new /obj/item/borg/sight/material(src) src.modules += new /obj/item/weapon/storage/bag/ore/drone(src) - src.modules += new /obj/item/weapon/gun/energy/plasmacutter/mounted(src) + src.modules += new /obj/item/weapon/gun/energy/kinetic_accelerator/cyborg(src) src.modules += new /obj/item/weapon/storage/bag/sheetsnatcher/borg(src) src.modules += new /obj/item/weapon/gripper/miner(src) src.modules += new /obj/item/weapon/mining_scanner(src) - src.emag = new /obj/item/weapon/gun/energy/vaurca/mountedthermaldrill(src) - src.emag.name = "Mounted Thermal Drill" + src.emag = new /obj/item/weapon/gun/energy/plasmacutter/mounted(src) + src.emag.name = "Mounted Plasma Cutter" ..() -/obj/item/weapon/robot_module/mining_drone/drillandplasmacutter/New(var/mob/living/silicon/robot/robot) +/obj/item/weapon/robot_module/mining_drone/drillandka/New(var/mob/living/silicon/robot/robot) src.modules += new /obj/item/device/flash(src) src.modules += new /obj/item/borg/sight/material(src) src.modules += new /obj/item/weapon/storage/bag/ore/drone(src) - src.modules += new /obj/item/weapon/gun/energy/plasmacutter/mounted(src) + src.modules += new /obj/item/weapon/gun/energy/kinetic_accelerator/cyborg(src) src.modules += new /obj/item/weapon/pickaxe/jackhammer(src) src.modules += new /obj/item/weapon/storage/bag/sheetsnatcher/borg(src) src.modules += new /obj/item/weapon/gripper/miner(src) src.modules += new /obj/item/weapon/mining_scanner(src) - src.emag = new /obj/item/weapon/gun/energy/vaurca/mountedthermaldrill(src) - src.emag.name = "Mounted Thermal Drill" + src.emag = new /obj/item/weapon/gun/energy/plasmacutter/mounted(src) + src.emag.name = "Mounted Plasma Cutter" ..() diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index c7e3a61ac4b..d9de289a3cb 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -237,14 +237,14 @@ if(blocked < 100 && !(blocked < 20)) L.emote("yawns") if(blocked < 20) - addtimer(CALLBACK(src, .proc/apply_sedative, target, 10), 120) + if(L.reagents) L.reagents.add_reagent("stoxin", 10) if(def_zone == "head" && blocked < 100) - addtimer(CALLBACK(src, .proc/apply_sedative, target, 20), 35) + if(L.reagents) L.reagents.add_reagent("stoxin", 15) if(def_zone != "torso" && def_zone != "head") if(blocked < 100 && !(blocked < 20)) L.emote("yawns") if(blocked < 20) - addtimer(CALLBACK(src, .proc/apply_sedative, target, 15), 45) + if(L.reagents) L.reagents.add_reagent("stoxin", 5) if(isanimal(target)) target.visible_message("[target] twitches, foaming at the mouth.") @@ -255,9 +255,6 @@ M.Sleeping(1200)*/ //commented out until simple_mob paralysis actually works. ..() -/obj/item/projectile/bullet/rifle/tranq/proc/apply_sedative(var/mob/living/L, var/severity) - L.apply_effect(severity, PARALYZE, 0) - L.emote("moans") /* Miscellaneous */ /obj/item/projectile/bullet/suffocationbullet//How does this even work? diff --git a/code/modules/spells/targeted/necromancer_spells.dm b/code/modules/spells/targeted/necromancer_spells.dm index 2a6495edbd3..820810942ef 100644 --- a/code/modules/spells/targeted/necromancer_spells.dm +++ b/code/modules/spells/targeted/necromancer_spells.dm @@ -170,7 +170,7 @@ set desc = "Return to your phylactery and rebuild your body." var/mob/living/carbon/C = usr - if(!C.stat) + if(C.stat != DEAD) C << "You're not dead yet!" return @@ -197,12 +197,7 @@ return /mob/living/carbon/proc/post_dark_resurrection() - if(src.stat == DEAD) - dead_mob_list -= src - living_mob_list += src - src.stat = CONSCIOUS src.revive() - src.reagents.clear_reagents() src << "You have returned to life!" src.visible_message("[src] rises up from the dead!") playsound(src, 'sound/magic/pope_entry.ogg', 100, 1) diff --git a/html/changelog.html b/html/changelog.html index 87ccf6d8983..d8973853357 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -56,6 +56,35 @@ -->
+

22 December 2017

+

Alberyk updated:

+ +

LordFowl updated:

+ + +

12 December 2017

+

Lohikar updated:

+ +

PoZe updated:

+ +

Skull132 updated:

+ +

08 December 2017

Lohikar updated: