From f8f5ff2dc3dc046f68ee3e02cb842b04db671425 Mon Sep 17 00:00:00 2001 From: "baloh.matevz" Date: Tue, 5 Jul 2011 19:45:47 +0000 Subject: [PATCH] - yellow, blue, orange and red hardhats added - the 'box' item no longer contains internals by default. A survival kit does tho. - backpacks no longer contain a box, the backpacks which spawn as part of your kit at round start/late join contain a survival kit (box), which contains internals. - engineers spawn with a different survival kit, which has an engineering em. oxy tank - emergency oxy tanks now fit in boxes again - engineering emergency oxygen tank (yellow) added (engineers spawn with it in their internals box), double emergency oxy tank added (not ingame yet), red and yellow oxygen tanks added (red spawns in firefighting closets, yellow is not ingame) (sprites by Aru) - red hardhats spawn in fire closets - CE spawns with white hardhat, one is also in his locker - CE spawns with industrial backpack - Pod people manual added to HOP's desk (he's the boss) and hydroponics - Ore pile removed from code (was not used for anything and I don't want it to be) - The mechanical and electrical toolbox in tool storage replaced with two tool closets. (We'll see if this works out) git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1775 316c924e-a436-60f5-8080-3fe189b3f50e --- code/WorkInProgress/mining.dm | 7 ---- code/defines/obj/clothing/head.dm | 25 +++++++++++- code/defines/obj/storage.dm | 11 +++++- code/defines/obj/weapon.dm | 30 +++++++++++--- code/game/algorithm.dm | 2 +- code/game/gamemodes/wizard/wizard.dm | 3 +- code/game/jobs/jobprocs.dm | 25 +++++++++++- code/game/magic/library.dm | 1 + code/game/objects/closets/firecloset.dm | 15 +++---- .../objects/closets/secure/engineering.dm | 2 +- code/game/objects/devices/flashlight.dm | 6 +-- code/game/objects/items/item.dm | 1 + code/game/objects/items/weapons/manuals.dm | 37 +++++++++++++++++- code/game/objects/storage/backpack.dm | 6 --- code/game/objects/storage/storage.dm | 12 +++++- code/modules/admin/verbs/striketeam.dm | 1 + icons/mob/back.dmi | Bin 20261 -> 20547 bytes icons/mob/belt.dmi | Bin 4719 -> 5118 bytes icons/mob/head.dmi | Bin 49987 -> 54549 bytes icons/mob/items_lefthand.dmi | Bin 88159 -> 89708 bytes icons/mob/items_righthand.dmi | Bin 88862 -> 89868 bytes icons/obj/clothing/hats.dmi | Bin 18667 -> 19993 bytes icons/obj/library.dmi | Bin 14770 -> 15051 bytes icons/obj/tank.dmi | Bin 4155 -> 5632 bytes maps/tgstation.2.0.7.dmm | 14 +++---- tgstation.dme | 2 - 26 files changed, 151 insertions(+), 49 deletions(-) diff --git a/code/WorkInProgress/mining.dm b/code/WorkInProgress/mining.dm index 5bc4c445b71..e98d7b3d4ad 100644 --- a/code/WorkInProgress/mining.dm +++ b/code/WorkInProgress/mining.dm @@ -1063,13 +1063,6 @@ proc/move_mining_shuttle() pixel_x = rand(0,16)-8 pixel_y = rand(0,8)-8 -/**********************Ore pile (not used)**************************/ - -/obj/item/weapon/ore_pile - name = "Pile of ores" - icon = 'Mining.dmi' - icon_state = "orepile" - /**********************Satchel**************************/ /obj/item/weapon/satchel diff --git a/code/defines/obj/clothing/head.dm b/code/defines/obj/clothing/head.dm index c19e1711c14..f558ac8ecb4 100644 --- a/code/defines/obj/clothing/head.dm +++ b/code/defines/obj/clothing/head.dm @@ -290,13 +290,34 @@ /obj/item/clothing/head/helmet/hardhat name = "hard hat" desc = "A hat which appears to be very hard." - icon_state = "hardhat0" + icon_state = "hardhat0_yellow" flags = FPRINT | TABLEPASS | SUITSPACE - item_state = "hardhat0" + item_state = "hardhat0_yellow" var/brightness_on = 4 //luminosity when on var/on = 0 + color = "yellow" //Determines used sprites: hardhat[on]_[color] and hardhat[on]_[color]2 (lying down sprite) armor = list(melee = 30, bullet = 30, laser = 20, taser = 10, bomb = 20, bio = 10, rad = 20) +/obj/item/clothing/head/helmet/hardhat/orange + icon_state = "hardhat0_orange" + item_state = "hardhat0_orange" + color = "orange" + +/obj/item/clothing/head/helmet/hardhat/red + icon_state = "hardhat0_red" + item_state = "hardhat0_red" + color = "red" + +/obj/item/clothing/head/helmet/hardhat/white + icon_state = "hardhat0_white" + item_state = "hardhat0_white" + color = "white" + +/obj/item/clothing/head/helmet/hardhat/dblue + icon_state = "hardhat0_dblue" + item_state = "hardhat0_dblue" + color = "dblue" + /obj/item/clothing/head/helmet/welding name = "welding helmet" diff --git a/code/defines/obj/storage.dm b/code/defines/obj/storage.dm index 5c33a42b5e9..c789f68e43d 100644 --- a/code/defines/obj/storage.dm +++ b/code/defines/obj/storage.dm @@ -77,11 +77,20 @@ can_hold = list("/obj/item/weapon/dice") /obj/item/weapon/storage/box - name = "box" + name = "Box" desc = "A nice looking box." icon_state = "box" item_state = "syringe_kit" +/obj/item/weapon/storage/survival_kit + name = "Centcom Survival Kit" + desc = "How nice of CentCom to provide us with some stuff to make our lives easier." + icon_state = "box" + item_state = "syringe_kit" + +/obj/item/weapon/storage/survival_kit/engineer + name = "Centcom Engineer Kit" + /obj/item/weapon/storage/pillbottlebox name = "pill bottles" desc = "A box of pill bottles." diff --git a/code/defines/obj/weapon.dm b/code/defines/obj/weapon.dm index 6cf343028ac..5a9d524aadd 100644 --- a/code/defines/obj/weapon.dm +++ b/code/defines/obj/weapon.dm @@ -1435,6 +1435,16 @@ Total SMES charging rate should not exceed total power generation rate, or an ov icon_state = "oxygen" distribute_pressure = ONE_ATMOSPHERE*O2STANDARD +/obj/item/weapon/tank/oxygen/yellow + name = "Gas Tank (Oxygen)" + desc = "A tank of oxygen meant for firefighters." + icon_state = "oxygen_f" + +/obj/item/weapon/tank/oxygen/red + name = "Gas Tank (Oxygen)" + desc = "A tank of oxygen meant for firefighters." + icon_state = "oxygen_fr" + /obj/item/weapon/tank/air name = "Gas Tank (Air Mix)" desc = "Mixed anyone?" @@ -1442,18 +1452,28 @@ Total SMES charging rate should not exceed total power generation rate, or an ov /obj/item/weapon/tank/plasma name = "Gas Tank (BIOHAZARD)" - desc = "Contains dangerous plasma. When inhaled." + desc = "Contains dangerous plasma. Do not inhale." icon_state = "plasma" /obj/item/weapon/tank/emergency_oxygen - name = "emergency oxygentank" - desc = "Used for emergencies." + name = "Emergency Oxygen Tank" + desc = "Used for emergencies. Contains very little oxygen, so try to conserve it until you actualy need it." icon_state = "emergency" flags = FPRINT | TABLEPASS | ONBELT | CONDUCT - w_class = 2.5 + w_class = 2.0 force = 4.0 distribute_pressure = ONE_ATMOSPHERE*O2STANDARD - volume = 10 //yeah, SO tiny + volume = 3 //Tiny. Real life equivalents only have 21 breaths of oxygen in them. They're EMERGENCY tanks anyway -errorage (dangercon 2011) + +/obj/item/weapon/tank/emergency_oxygen/engi + icon_state = "emergency_engi" + name = "Engineering Emergency Oxygen Tank" + volume = 6 //Engineers are always superior. -errorage (dangercon 2011) + +/obj/item/weapon/tank/emergency_oxygen/double + icon_state = "emergency_double" + name = "Double Emergency Oxygen Tank" + volume = 10 //These have the same emoung of gas in them as air tanks, but can be worn on your belt -errorage (dangercon 2011) /obj/item/weapon/teleportation_scroll name = "Teleportation Scroll" diff --git a/code/game/algorithm.dm b/code/game/algorithm.dm index 58457dfb876..d49bdd90d5b 100644 --- a/code/game/algorithm.dm +++ b/code/game/algorithm.dm @@ -171,7 +171,7 @@ proc/countJob(rank) if(slot_in_backpack) if (src.back && istype(src.back, /obj/item/weapon/storage/backpack)) var/obj/item/weapon/storage/backpack/B = src.back - if(B.contents.len < 7 && W.w_class <= 3) + if(B.contents.len < B.storage_slots && W.w_class <= B.max_w_class) W.loc = B equipped = 1 if(slot_h_store) diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm index 8dace219f57..7bf67a067e6 100644 --- a/code/game/gamemodes/wizard/wizard.dm +++ b/code/game/gamemodes/wizard/wizard.dm @@ -198,6 +198,7 @@ wizard_mob.equip_if_possible(new /obj/item/clothing/suit/wizrobe(wizard_mob), wizard_mob.slot_wear_suit) wizard_mob.equip_if_possible(new /obj/item/clothing/head/wizard(wizard_mob), wizard_mob.slot_head) wizard_mob.equip_if_possible(new /obj/item/weapon/storage/backpack(wizard_mob), wizard_mob.slot_back) + wizard_mob.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src), wizard_mob.slot_in_backpack) // wizard_mob.equip_if_possible(new /obj/item/weapon/scrying_gem(wizard_mob), wizard_mob.slot_l_store) For scrying gem. wizard_mob.equip_if_possible(new /obj/item/weapon/teleportation_scroll(wizard_mob), wizard_mob.slot_r_store) if(config.feature_object_spell_system) //if it's turned on (in config.txt), spawns an object spell spellbook @@ -233,7 +234,7 @@ return 1 /datum/game_mode/proc/auto_declare_completion_wizard() - for(var/datum/mind/wizard in wizards) + for(var/datum/mind/wizard in wizards) var/wizard_name if(wizard.current) if(wizard.current == wizard.original) diff --git a/code/game/jobs/jobprocs.dm b/code/game/jobs/jobprocs.dm index 56629e3dc74..c7ce8e433b3 100644 --- a/code/game/jobs/jobprocs.dm +++ b/code/game/jobs/jobprocs.dm @@ -301,6 +301,7 @@ src.equip_if_possible(new /obj/item/device/radio/headset/headset_medsci (src), slot_ears) // -- TLE src.equip_if_possible(new /obj/item/device/pda/medical(src), slot_belt) src.equip_if_possible(new /obj/item/weapon/storage/backpack/medic (src), slot_back) + src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src), slot_in_backpack) src.equip_if_possible(new /obj/item/clothing/under/rank/geneticist(src), slot_w_uniform) src.equip_if_possible(new /obj/item/clothing/shoes/white(src), slot_shoes) src.equip_if_possible(new /obj/item/clothing/suit/labcoat(src), slot_wear_suit) @@ -320,6 +321,7 @@ if ("Clown") src.equip_if_possible(new /obj/item/weapon/storage/backpack/clown (src), slot_back) + src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src), slot_in_backpack) src.equip_if_possible(new /obj/item/device/pda/clown(src), slot_belt) src.equip_if_possible(new /obj/item/clothing/under/rank/clown(src), slot_w_uniform) src.equip_if_possible(new /obj/item/clothing/shoes/clown_shoes(src), slot_shoes) @@ -333,6 +335,7 @@ if ("Mime") src.equip_if_possible(new /obj/item/weapon/storage/backpack(src), slot_back) + src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src), slot_in_backpack) src.equip_if_possible(new /obj/item/device/pda/mime(src), slot_belt) src.equip_if_possible(new /obj/item/clothing/under/mime(src), slot_w_uniform) src.equip_if_possible(new /obj/item/clothing/shoes/black(src), slot_shoes) @@ -349,6 +352,7 @@ if ("Station Engineer") src.equip_if_possible(new /obj/item/weapon/storage/backpack/industrial (src), slot_back) + src.equip_if_possible(new /obj/item/weapon/storage/survival_kit/engineer(src), slot_in_backpack) src.equip_if_possible(new /obj/item/device/radio/headset/headset_eng (src), slot_ears) // -- TLE src.equip_if_possible(new /obj/item/device/pda/engineering(src), slot_belt) src.equip_if_possible(new /obj/item/clothing/under/rank/engineer(src), slot_w_uniform) @@ -360,6 +364,7 @@ if ("Shaft Miner") src.equip_if_possible(new /obj/item/weapon/storage/backpack/industrial (src), slot_back) + src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src), slot_in_backpack) src.equip_if_possible(new /obj/item/device/radio/headset/headset_mine (src), slot_ears) src.equip_if_possible(new /obj/item/clothing/under/rank/miner(src), slot_w_uniform) src.equip_if_possible(new /obj/item/clothing/shoes/black(src), slot_shoes) @@ -374,6 +379,7 @@ if ("Detective") src.equip_if_possible(new /obj/item/device/radio/headset/headset_sec (src), slot_ears) // -- TLE src.equip_if_possible(new /obj/item/weapon/storage/backpack(src), slot_back) + src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src), slot_in_backpack) src.equip_if_possible(new /obj/item/device/pda/security(src), slot_belt) src.equip_if_possible(new /obj/item/clothing/under/det(src), slot_w_uniform) src.equip_if_possible(new /obj/item/clothing/shoes/brown(src), slot_shoes) @@ -393,6 +399,7 @@ src.equip_if_possible(new /obj/item/device/radio/headset/headset_med (src), slot_ears) // -- TLE src.equip_if_possible(new /obj/item/device/pda/medical(src), slot_belt) src.equip_if_possible(new /obj/item/weapon/storage/backpack/medic (src), slot_back) + src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src), slot_in_backpack) src.equip_if_possible(new /obj/item/clothing/under/rank/medical(src), slot_w_uniform) src.equip_if_possible(new /obj/item/clothing/shoes/white(src), slot_shoes) src.equip_if_possible(new /obj/item/clothing/suit/labcoat(src), slot_wear_suit) @@ -402,6 +409,7 @@ if ("Captain") src.equip_if_possible(new /obj/item/device/radio/headset/heads/captain (src), slot_ears) src.equip_if_possible(new /obj/item/weapon/storage/backpack(src), slot_back) + src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src), slot_in_backpack) src.equip_if_possible(new /obj/item/device/pda/captain(src), slot_belt) src.equip_if_possible(new /obj/item/clothing/under/rank/captain(src), slot_w_uniform) src.equip_if_possible(new /obj/item/clothing/suit/armor/captain(src), slot_wear_suit) @@ -414,6 +422,7 @@ if ("Security Officer") src.equip_if_possible(new /obj/item/device/radio/headset/headset_sec (src), slot_ears) // -- TLE src.equip_if_possible(new /obj/item/weapon/storage/backpack/security (src), slot_back) + src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src), slot_in_backpack) src.equip_if_possible(new /obj/item/device/pda/security(src), slot_belt) src.equip_if_possible(new /obj/item/clothing/under/rank/security(src), slot_w_uniform) src.equip_if_possible(new /obj/item/clothing/suit/armor/vest(src), slot_wear_suit) @@ -426,6 +435,7 @@ if ("Warden") src.equip_if_possible(new /obj/item/device/radio/headset/headset_sec (src), slot_ears) // -- TLE src.equip_if_possible(new /obj/item/weapon/storage/backpack/security (src), slot_back) + src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src), slot_in_backpack) src.equip_if_possible(new /obj/item/device/pda/security(src), slot_belt) src.equip_if_possible(new /obj/item/clothing/under/rank/warden(src), slot_w_uniform) src.equip_if_possible(new /obj/item/clothing/suit/armor/vest(src), slot_wear_suit) @@ -456,6 +466,7 @@ src.equip_if_possible(new /obj/item/clothing/head/helmet/HoS(src), slot_head) src.equip_if_possible(new /obj/item/clothing/mask/gas/emergency(src), slot_wear_mask) src.equip_if_possible(new /obj/item/weapon/storage/backpack/security (src), slot_back) + src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src), slot_in_backpack) src.equip_if_possible(new /obj/item/clothing/glasses/sunglasses(src), slot_glasses) src.equip_if_possible(new /obj/item/weapon/handcuffs(src), slot_in_backpack) src.equip_if_possible(new /obj/item/weapon/gun/energy(src), slot_s_store) @@ -464,6 +475,7 @@ if ("Head of Personnel") src.equip_if_possible(new /obj/item/device/radio/headset/heads/hop (src), slot_ears) // -- TLE src.equip_if_possible(new /obj/item/weapon/storage/backpack(src), slot_back) + src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src), slot_in_backpack) src.equip_if_possible(new /obj/item/device/pda/heads/hop(src), slot_belt) src.equip_if_possible(new /obj/item/clothing/under/rank/head_of_personnel(src), slot_w_uniform) src.equip_if_possible(new /obj/item/clothing/suit/armor/vest(src), slot_wear_suit) @@ -482,6 +494,7 @@ src.equip_if_possible(new /obj/item/clothing/shoes/black(src), slot_shoes) src.equip_if_possible(new /obj/item/clothing/suit/armor/vest(src), slot_wear_suit) src.equip_if_possible(new /obj/item/weapon/storage/backpack(src), slot_back) + src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src), slot_in_backpack) src.equip_if_possible(new /obj/item/ammo_casing/shotgun/beanbag(src), slot_in_backpack) src.equip_if_possible(new /obj/item/ammo_casing/shotgun/beanbag(src), slot_in_backpack) src.equip_if_possible(new /obj/item/ammo_casing/shotgun/beanbag(src), slot_in_backpack) @@ -499,6 +512,7 @@ src.equip_if_possible(new /obj/item/clothing/under/rank/roboticist(src), slot_w_uniform) src.equip_if_possible(new /obj/item/clothing/shoes/black(src), slot_shoes) src.equip_if_possible(new /obj/item/weapon/storage/backpack(src), slot_back) + src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src), slot_in_backpack) src.equip_if_possible(new /obj/item/clothing/suit/labcoat(src), slot_wear_suit) src.equip_if_possible(new /obj/item/clothing/gloves/black(src), slot_gloves) src.equip_if_possible(new /obj/item/weapon/storage/toolbox/mechanical(src), slot_l_hand) @@ -521,6 +535,7 @@ src.equip_if_possible(new /obj/item/clothing/shoes/brown(src), slot_shoes) src.equip_if_possible(new /obj/item/clothing/suit/suit(src), slot_wear_suit) src.equip_if_possible(new /obj/item/weapon/storage/backpack(src), slot_back) + src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src), slot_in_backpack) src.equip_if_possible(new /obj/item/device/detective_scanner(src), slot_in_backpack) src.equip_if_possible(new /obj/item/weapon/storage/briefcase(src), slot_l_hand) @@ -541,11 +556,13 @@ src.equip_if_possible(new /obj/item/device/pda/quartermaster(src), slot_belt) if ("Chief Engineer") + src.equip_if_possible(new /obj/item/weapon/storage/backpack/industrial (src), slot_back) + src.equip_if_possible(new /obj/item/weapon/storage/survival_kit/engineer(src), slot_in_backpack) src.equip_if_possible(new /obj/item/device/radio/headset/heads/ce (src), slot_ears) src.equip_if_possible(new /obj/item/device/pda/heads/ce(src), slot_belt) src.equip_if_possible(new /obj/item/clothing/gloves/black(src), slot_gloves) //changed to black as part of dangercon 2011, approved by Urist_McDorf --Errorage src.equip_if_possible(new /obj/item/clothing/shoes/brown(src), slot_shoes) - src.equip_if_possible(new /obj/item/clothing/head/helmet/hardhat(src), slot_head) + src.equip_if_possible(new /obj/item/clothing/head/helmet/hardhat/white(src), slot_head) src.equip_if_possible(new /obj/item/weapon/storage/utilitybelt/full(src), slot_l_hand) //currently spawns in hand due to traitor assignment requiring a PDA to be on the belt. --Errorage var/obj/item/clothing/mask/cigarette/CIG = new /obj/item/clothing/mask/cigarette(src) CIG.light("") @@ -567,6 +584,7 @@ src.equip_if_possible(new /obj/item/device/radio/headset/heads/cmo (src), slot_ears) src.equip_if_possible(new /obj/item/device/pda/heads/cmo(src), slot_belt) src.equip_if_possible(new /obj/item/weapon/storage/backpack/medic (src), slot_back) + src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src), slot_in_backpack) src.equip_if_possible(new /obj/item/clothing/shoes/brown(src), slot_shoes) src.equip_if_possible(new /obj/item/clothing/under/rank/chief_medical_officer(src), slot_w_uniform) src.equip_if_possible(new /obj/item/clothing/suit/labcoat_cmo(src), slot_wear_suit) @@ -577,6 +595,7 @@ src.equip_if_possible(new /obj/item/device/radio/headset/headset_medsci (src), slot_ears) // -- TLE src.equip_if_possible(new /obj/item/device/pda/medical(src), slot_belt) src.equip_if_possible(new /obj/item/weapon/storage/backpack/medic (src), slot_back) + src.equip_if_possible(new /obj/item/weapon/storage/survival_kit(src), slot_in_backpack) src.equip_if_possible(new /obj/item/clothing/under/rank/medical(src), slot_w_uniform) src.equip_if_possible(new /obj/item/clothing/mask/surgical(src), slot_wear_mask) src.equip_if_possible(new /obj/item/clothing/shoes/white(src), slot_shoes) @@ -635,7 +654,9 @@ src.Robotize() else src.equip_if_possible(new /obj/item/device/radio/headset(src), slot_ears) - src.equip_if_possible(new /obj/item/weapon/storage/backpack(src), slot_back) + var/obj/item/weapon/storage/backpack/BPK = new/obj/item/weapon/storage/backpack(src) + BPK.contents += new /obj/item/weapon/storage/survival_kit(src) + src.equip_if_possible(BPK, slot_back) /* diff --git a/code/game/magic/library.dm b/code/game/magic/library.dm index dea1b639cfa..3dbc740518d 100644 --- a/code/game/magic/library.dm +++ b/code/game/magic/library.dm @@ -142,6 +142,7 @@ new /obj/item/weapon/book/manual/engineering_hacking(src) new /obj/item/weapon/book/manual/engineering_guide(src) new /obj/item/weapon/book/manual/engineering_singularity_safety(src) + new /obj/item/weapon/book/manual/robotics_cyborgs(src) /obj/bookcase/manuals/research_and_development name = "R&D Manuals bookcase" diff --git a/code/game/objects/closets/firecloset.dm b/code/game/objects/closets/firecloset.dm index 054270f187e..c4f666fedca 100644 --- a/code/game/objects/closets/firecloset.dm +++ b/code/game/objects/closets/firecloset.dm @@ -6,17 +6,18 @@ new /obj/item/clothing/suit/fire/firefighter(src) new /obj/item/clothing/mask/gas(src) new /obj/item/device/flashlight(src) - new /obj/item/weapon/tank/emergency_oxygen(src) + new /obj/item/weapon/tank/oxygen/red(src) new /obj/item/weapon/extinguisher(src) - new /obj/item/clothing/head/helmet/hardhat(src) + new /obj/item/clothing/head/helmet/hardhat/red(src) /obj/closet/firecloset/New() ..() - new /obj/item/clothing/mask/gas(src) - new /obj/item/weapon/tank/emergency_oxygen(src) - new /obj/item/weapon/extinguisher(src) new /obj/item/clothing/suit/fire/firefighter(src) + new /obj/item/clothing/mask/gas(src) + new /obj/item/weapon/tank/oxygen/red(src) + new /obj/item/weapon/extinguisher(src) + new /obj/item/clothing/head/helmet/hardhat/red(src) /*switch (pickweight(list("nothing" = 5, "bare-bones" = 35, "basic" = 40, "pickpocketed" = 10, "untouched" = 10))) if ("nothing") @@ -31,13 +32,13 @@ new /obj/item/clothing/mask/breath(src) new /obj/item/weapon/tank/oxygen(src) new /obj/item/weapon/extinguisher(src) - new /obj/item/clothing/head/helmet/hardhat(src) + new /obj/item/clothing/head/helmet/hardhat/red(src) if ("untouched") new /obj/item/clothing/mask/breath(src) new /obj/item/weapon/tank/oxygen(src) new /obj/item/weapon/extinguisher(src) new /obj/item/clothing/suit/fire/firefighter(src) - new /obj/item/clothing/head/helmet/hardhat(src)*/ + new /obj/item/clothing/head/helmet/hardhat/red(src)*/ /obj/closet/toolcloset/New() if(prob(60)) diff --git a/code/game/objects/closets/secure/engineering.dm b/code/game/objects/closets/secure/engineering.dm index e8d8aaa3d89..da5f76a9e55 100644 --- a/code/game/objects/closets/secure/engineering.dm +++ b/code/game/objects/closets/secure/engineering.dm @@ -14,7 +14,7 @@ new /obj/item/clothing/suit/hazardvest( src ) new /obj/item/clothing/mask/gas( src ) new /obj/item/clothing/head/helmet/welding( src ) - new /obj/item/clothing/head/helmet/hardhat( src ) + new /obj/item/clothing/head/helmet/hardhat/white( src ) new /obj/item/device/multitool( src ) new /obj/item/device/flash( src ) return diff --git a/code/game/objects/devices/flashlight.dm b/code/game/objects/devices/flashlight.dm index 1b22dac5926..58a0bc399f4 100644 --- a/code/game/objects/devices/flashlight.dm +++ b/code/game/objects/devices/flashlight.dm @@ -57,8 +57,6 @@ src.sd_SetLuminosity(0) user.sd_SetLuminosity(user.luminosity + brightness_on) - - /obj/item/device/flashlight/dropped(mob/user) if(on) user.sd_SetLuminosity(user.luminosity - brightness_on) @@ -66,8 +64,8 @@ /obj/item/clothing/head/helmet/hardhat/attack_self(mob/user) on = !on - icon_state = "hardhat[on]" - item_state = "hardhat[on]" + icon_state = "hardhat[on]_[color]" + item_state = "hardhat[on]_[color]" if(on) user.sd_SetLuminosity(user.luminosity + brightness_on) diff --git a/code/game/objects/items/item.dm b/code/game/objects/items/item.dm index bbc33b5d65f..2dd9fef652a 100644 --- a/code/game/objects/items/item.dm +++ b/code/game/objects/items/item.dm @@ -31,6 +31,7 @@ // /obj/item/proc/afterattack() + return /obj/item/weapon/dummy/ex_act() diff --git a/code/game/objects/items/weapons/manuals.dm b/code/game/objects/items/weapons/manuals.dm index 07f4452c0b2..303f3064045 100644 --- a/code/game/objects/items/weapons/manuals.dm +++ b/code/game/objects/items/weapons/manuals.dm @@ -606,6 +606,41 @@ "} +/obj/item/weapon/book/manual/hydroponics_pod_people + name = "The Human Harvest - From seed to market" + icon_state ="bookHydroponicsPodPeople" + author = "Farmer John" + + dat = {" + + + + +

Growing Humans

+ + Why would you want to grow humans? Well I'm expecting most readers to be in the slave trade, but a few might actually + want to revive fallen comrades. Growing pod people is easy, but prone to disaster. +

+

    +
  1. Find a dead person who is in need of cloning.
  2. +
  3. Take a blood sample with a syringe.
  4. +
  5. Inject a seed pack with the blood sample.
  6. +
  7. Plant the seeds.
  8. +
  9. Tend to the plants water and nutrition levels until it is time to harvest the cloned human.
  10. +
+

+ It really is that easy! Good luck! + + + + "} + /obj/item/weapon/book/manual/medical_cloning name = "Cloning techniques of the 26th century" icon_state ="bookCloning" @@ -802,7 +837,7 @@ "} -/obj/item/weapon/book/manual/borg +/obj/item/weapon/book/manual/robotics_cyborgs name = "Cyborgs for Dummies" icon_state = "borgbook" author = "XISC" diff --git a/code/game/objects/storage/backpack.dm b/code/game/objects/storage/backpack.dm index 0049d5a6e82..e9cf153e182 100644 --- a/code/game/objects/storage/backpack.dm +++ b/code/game/objects/storage/backpack.dm @@ -1,9 +1,3 @@ -/obj/item/weapon/storage/backpack/New() - if (!istype(src, /obj/item/weapon/storage/backpack/holding)) - new /obj/item/weapon/storage/box( src ) - ..() - return - /obj/item/weapon/storage/backpack/MouseDrop(obj/over_object as obj) // if (src.loc != usr) diff --git a/code/game/objects/storage/storage.dm b/code/game/objects/storage/storage.dm index 38e47cbd20e..22ec29167ea 100644 --- a/code/game/objects/storage/storage.dm +++ b/code/game/objects/storage/storage.dm @@ -200,13 +200,21 @@ src.master.attackby(W, user) return -/obj/item/weapon/storage/box/New() - +/obj/item/weapon/storage/survival_kit/New() + sleep(1) new /obj/item/clothing/mask/breath( src ) new /obj/item/weapon/tank/emergency_oxygen( src ) ..() return +/obj/item/weapon/storage/survival_kit/engineer/New() + ..() + contents = list() + sleep(1) + new /obj/item/clothing/mask/breath( src ) + new /obj/item/weapon/tank/emergency_oxygen/engi( src ) + return + /obj/item/weapon/storage/dice/New() new /obj/item/weapon/dice( src ) new /obj/item/weapon/dice/d20( src ) diff --git a/code/modules/admin/verbs/striketeam.dm b/code/modules/admin/verbs/striketeam.dm index 672008d0f31..db50333984f 100644 --- a/code/modules/admin/verbs/striketeam.dm +++ b/code/modules/admin/verbs/striketeam.dm @@ -158,6 +158,7 @@ var/global/sent_strike_team = 0 equip_if_possible(new /obj/item/clothing/glasses/thermal(src), slot_glasses) equip_if_possible(new /obj/item/weapon/storage/backpack/security(src), slot_back) + equip_if_possible(new /obj/item/weapon/storage/survival_kit(src), slot_in_backpack) equip_if_possible(new /obj/item/ammo_magazine(src), slot_in_backpack) equip_if_possible(new /obj/item/weapon/storage/firstaid/regular(src), slot_in_backpack) diff --git a/icons/mob/back.dmi b/icons/mob/back.dmi index c8d64ed194fc7cbea392954dc1d1113fa3bdb0e2..38f3fe138ebcc0deabf8637a2bbc68f580b7086b 100644 GIT binary patch literal 20547 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