Merge branch 'virgoMaster' into virgoPull

This commit is contained in:
Reddeyfish
2018-05-19 17:16:17 -07:00
203 changed files with 11021 additions and 7365 deletions
@@ -3,6 +3,8 @@
desc = "Talk through this."
icon = 'icons/obj/radio_vr.dmi' //VOREStation Edit - New Icon
icon_state = "intercom"
plane = TURF_PLANE
layer = ABOVE_TURF_LAYER
anchored = 1
w_class = ITEMSIZE_LARGE
canhear_range = 2
+2 -2
View File
@@ -27,8 +27,8 @@
use_message = capitalize(copytext(sanitize(new_message), 1, MAX_MESSAGE_LEN))
usr << "You configure the hailer to shout \"[use_message]\"."
/
obj/item/device/hailer/attack_self(mob/living/carbon/user as mob)
/obj/item/device/hailer/attack_self(mob/living/carbon/user as mob)
if (spamcheck)
return
@@ -29,7 +29,7 @@
icon_state = "unathiknife"
attack_verb = list("ripped", "torn", "cut")
can_cleave = FALSE
var hits = 0
var/hits = 0
/obj/item/weapon/material/knife/machete/hatchet/unathiknife/attack(mob/M as mob, mob/user as mob)
if(hits > 0)
@@ -450,7 +450,7 @@
item_state_slots = list(slot_r_hand_str = "medicalpack", slot_l_hand_str = "medicalpack")
foldable = null
max_w_class = ITEMSIZE_NORMAL
can_hold = list(/obj/item/organ, /obj/item/weapon/reagent_containers/food, /obj/item/weapon/reagent_containers/glass)
can_hold = list(/obj/item/organ)
max_storage_space = ITEMSIZE_COST_NORMAL * 5 // Formally 21. Odd numbers are bad.
use_to_pickup = 1 // for picking up broken bulbs, not that most people will try
@@ -0,0 +1,18 @@
/obj/item/weapon/beartrap
slot_flags = SLOT_MASK
item_icons = list(
slot_wear_mask_str = 'icons/mob/mask_vr.dmi'
)
/obj/item/weapon/beartrap/equipped()
if(ishuman(src.loc))
var/mob/living/carbon/human/H = src.loc
if(H.wear_mask == src)
H.verbs |= /mob/living/proc/shred_limb_temp
else
H.verbs -= /mob/living/proc/shred_limb_temp
..()
/obj/item/weapon/beartrap/dropped(var/mob/user)
user.verbs -= /mob/living/proc/shred_limb_temp
..()
+276 -2
View File
@@ -1,6 +1,16 @@
/obj/random/gun/random
name = "Random Weapon"
desc = "This is a random energy or ballistic weapon."
icon = 'icons/obj/gun.dmi'
icon_state = "energystun100"
/obj/random/gun/random/item_to_spawn()
return pick(prob(5);/obj/random/energy,
prob(5);/obj/random/projectile/random)
/obj/random/energy
name = "Random Energy Weapon"
desc = "This is a random security weapon."
desc = "This is a random weapon."
icon = 'icons/obj/gun.dmi'
icon_state = "energykill100"
@@ -83,6 +93,18 @@
prob(2);/obj/item/weapon/gun/projectile/automatic/wt550,
prob(1);/obj/item/weapon/gun/projectile/shotgun/pump/combat)
/obj/random/projectile/shotgun
name = "Random Projectile Weapon"
desc = "This is a random projectile weapon."
icon = 'icons/obj/gun.dmi'
icon_state = "shotgun"
/obj/random/projectile/item_to_spawn()
return pick(prob(4);/obj/item/weapon/gun/projectile/shotgun/doublebarrel,
prob(3);/obj/item/weapon/gun/projectile/shotgun/doublebarrel/sawn,
prob(3);/obj/item/weapon/gun/projectile/shotgun/pump,
prob(1);/obj/item/weapon/gun/projectile/shotgun/pump/combat)
/obj/random/handgun
name = "Random Handgun"
desc = "This is a random sidearm."
@@ -126,4 +148,256 @@
prob(4);/obj/item/ammo_magazine/m45/rubber,
prob(4);/obj/item/ammo_magazine/m45/flash,
prob(2);/obj/item/ammo_magazine/m9mmt,
prob(6);/obj/item/ammo_magazine/m9mmt/rubber)
prob(6);/obj/item/ammo_magazine/m9mmt/rubber)
/obj/random/projectile/random
name = "Random Projectile Weapon"
desc = "This is a random weapon."
icon = 'icons/obj/gun.dmi'
icon_state = "revolver"
/obj/random/projectile/random/item_to_spawn()
return pick(prob(3);/obj/random/multiple/gun/projectile/handgun,
prob(2);/obj/random/multiple/gun/projectile/smg,
prob(2);/obj/random/multiple/gun/projectile/shotgun,
prob(1);/obj/random/multiple/gun/projectile/rifle)
/obj/random/multiple/gun/projectile/smg
name = "random smg projectile gun"
desc = "Loot for PoIs."
icon = 'icons/obj/gun.dmi'
icon_state = "saber"
/obj/random/multiple/gun/projectile/smg/item_to_spawn()
return pick(
prob(3);list(
/obj/item/weapon/gun/projectile/automatic/wt550,
/obj/item/ammo_magazine/m9mmt,
/obj/item/ammo_magazine/m9mmt
),
prob(3);list(
/obj/item/weapon/gun/projectile/automatic/mini_uzi,
/obj/item/ammo_magazine/m45uzi,
/obj/item/ammo_magazine/m45uzi
),
prob(3);list(
/obj/item/weapon/gun/projectile/automatic/tommygun,
/obj/item/ammo_magazine/m45tommy,
/obj/item/ammo_magazine/m45tommy
),
prob(2);list(
/obj/item/weapon/gun/projectile/automatic/c20r,
/obj/item/ammo_magazine/m10mm,
/obj/item/ammo_magazine/m10mm
),
prob(1);list(
/obj/item/weapon/gun/projectile/automatic/p90,
/obj/item/ammo_magazine/m9mmp90
)
)
/obj/random/multiple/gun/projectile/rifle
name = "random rifle projectile gun"
desc = "Loot for PoIs."
icon = 'icons/obj/gun.dmi'
icon_state = "carbine"
//Concerns about the bullpup, but currently seems to be only a slightly stronger z8. But we shall see.
/obj/random/multiple/gun/projectile/rifle/item_to_spawn()
return pick(
prob(2);list(
/obj/item/weapon/gun/projectile/automatic/sts35,
/obj/item/ammo_magazine/m545,
/obj/item/ammo_magazine/m545
),
prob(2);list(
/obj/item/weapon/gun/projectile/automatic/z8,
/obj/item/ammo_magazine/m762,
/obj/item/ammo_magazine/m762
),
prob(4);list(
/obj/item/weapon/gun/projectile/shotgun/pump/rifle,
/obj/item/ammo_magazine/clip/c762,
/obj/item/ammo_magazine/clip/c762
),
prob(3);list(
/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever,
/obj/item/ammo_magazine/clip/c762,
/obj/item/ammo_magazine/clip/c762
),
prob(1);list(
/obj/item/weapon/gun/projectile/garand,
/obj/item/ammo_magazine/m762garand,
/obj/item/ammo_magazine/m762garand
),
prob(1);list(
/obj/item/weapon/gun/projectile/automatic/bullpup,
/obj/item/ammo_magazine/m762,
/obj/item/ammo_magazine/m762
)
)
/obj/random/multiple/gun/projectile/handgun
name = "random handgun projectile gun"
desc = "Loot for PoIs."
icon = 'icons/obj/gun.dmi'
icon_state = "revolver"
/obj/random/multiple/gun/projectile/handgun/item_to_spawn()
return pick(
prob(5);list(
/obj/item/weapon/gun/projectile/colt,
/obj/item/ammo_magazine/m45,
/obj/item/ammo_magazine/m45
),
prob(4);list(
/obj/item/weapon/gun/projectile/contender,
/obj/item/ammo_magazine/s357,
/obj/item/ammo_magazine/s357
),
prob(3);list(
/obj/item/weapon/gun/projectile/contender/tacticool,
/obj/item/ammo_magazine/s357,
/obj/item/ammo_magazine/s357
),
prob(2);list(
/obj/item/weapon/gun/projectile/deagle,
/obj/item/ammo_magazine/m44,
/obj/item/ammo_magazine/m44
),
prob(1);list(
/obj/item/weapon/gun/projectile/deagle/camo,
/obj/item/ammo_magazine/m44,
/obj/item/ammo_magazine/m44
),
prob(1);list(
/obj/item/weapon/gun/projectile/deagle/gold,
/obj/item/ammo_magazine/m44,
/obj/item/ammo_magazine/m44
),
prob(4);list(
/obj/item/weapon/gun/projectile/derringer,
/obj/item/ammo_magazine/s357,
/obj/item/ammo_magazine/s357
),
prob(5);list(
/obj/item/weapon/gun/projectile/luger,
/obj/item/ammo_magazine/m9mm/compact,
/obj/item/ammo_magazine/m9mm/compact
),
prob(4);list(
/obj/item/weapon/gun/projectile/luger/brown,
/obj/item/ammo_magazine/m9mm/compact,
/obj/item/ammo_magazine/m9mm/compact
),
prob(5);list(
/obj/item/weapon/gun/projectile/sec,
/obj/item/ammo_magazine/m45,
/obj/item/ammo_magazine/m45
),
prob(4);list(
/obj/item/weapon/gun/projectile/sec/wood,
/obj/item/ammo_magazine/m45,
/obj/item/ammo_magazine/m45
),
prob(5);list(
/obj/item/weapon/gun/projectile/p92x,
/obj/item/ammo_magazine/m9mm,
/obj/item/ammo_magazine/m9mm
),
prob(4);list(
/obj/item/weapon/gun/projectile/p92x/brown,
/obj/item/ammo_magazine/m9mm,
/obj/item/ammo_magazine/m9mm
),
prob(2);list(
/obj/item/weapon/gun/projectile/p92x/large,
/obj/item/ammo_magazine/m9mm/large,
/obj/item/ammo_magazine/m9mm/large
),
prob(5);list(
/obj/item/weapon/gun/projectile/pistol,
/obj/item/ammo_magazine/m9mm/compact,
/obj/item/ammo_magazine/m9mm/compact
),
prob(2);list(
/obj/item/weapon/gun/projectile/silenced,
/obj/item/ammo_magazine/m45,
/obj/item/ammo_magazine/m45
),
prob(2);list(
/obj/item/weapon/gun/projectile/revolver,
/obj/item/ammo_magazine/s357,
/obj/item/ammo_magazine/s357
),
prob(4);list(
/obj/item/weapon/gun/projectile/revolver/deckard,
/obj/item/ammo_magazine/s38,
/obj/item/ammo_magazine/s38
),
prob(4);list(
/obj/item/weapon/gun/projectile/revolver/detective,
/obj/item/ammo_magazine/s38,
/obj/item/ammo_magazine/s38
),
prob(2);list(
/obj/item/weapon/gun/projectile/revolver/judge,
/obj/item/ammo_magazine/clip/c12g,
/obj/item/ammo_magazine/clip/c12g,
/obj/item/ammo_magazine/clip/c12g
),
prob(2);list(
/obj/item/weapon/gun/projectile/revolver/lemat,
/obj/item/ammo_magazine/s38,
/obj/item/ammo_magazine/s38,
/obj/item/ammo_magazine/clip/c12g
),
prob(2);list(
/obj/item/weapon/gun/projectile/revolver/mateba,
/obj/item/ammo_magazine/s357,
/obj/item/ammo_magazine/s357
),
prob(2);list(
/obj/item/weapon/gun/projectile/revolver/webley,
/obj/item/ammo_magazine/s44,
/obj/item/ammo_magazine/s44
),
prob(1);list(
/obj/item/weapon/gun/projectile/revolver/webley/auto,
/obj/item/ammo_magazine/s44,
/obj/item/ammo_magazine/s44
)
)
/obj/random/multiple/gun/projectile/shotgun
name = "random shotgun projectile gun"
desc = "Loot for PoIs."
icon = 'icons/obj/gun.dmi'
icon_state = "shotgun"
/obj/random/multiple/gun/projectile/shotgun/item_to_spawn()
return pick(
prob(4);list(
/obj/item/weapon/gun/projectile/shotgun/doublebarrel/pellet,
/obj/item/ammo_magazine/clip/c12g/pellet,
/obj/item/ammo_magazine/clip/c12g/pellet,
/obj/item/ammo_magazine/clip/c12g/pellet,
/obj/item/ammo_magazine/clip/c12g/pellet
),
prob(3);list(
/obj/item/weapon/gun/projectile/shotgun/doublebarrel/sawn,
/obj/item/ammo_magazine/clip/c12g/pellet,
/obj/item/ammo_magazine/clip/c12g/pellet,
/obj/item/ammo_magazine/clip/c12g/pellet,
/obj/item/ammo_magazine/clip/c12g/pellet
),
prob(3);list(
/obj/item/weapon/gun/projectile/shotgun/pump/slug,
/obj/item/weapon/storage/box/shotgunammo
),
prob(1);list(
/obj/item/weapon/gun/projectile/shotgun/pump/combat,
/obj/item/weapon/storage/box/shotgunammo
)
)
+2 -2
View File
@@ -92,8 +92,8 @@
/obj/random/multiple/minevault
name = "random vault loot"
desc = "Loot for mine vaults."
icon = 'icons/misc/mark.dmi'
icon_state = "rup"
icon = 'icons/obj/storage.dmi'
icon_state = "crate"
/obj/random/multiple/minevault/item_to_spawn()
return pick(
+2 -2
View File
@@ -159,8 +159,8 @@
/obj/random/medical
name = "Random Medicine"
desc = "This is a random medical item."
icon = 'icons/obj/items.dmi'
icon_state = "advfirstaid"
icon = 'icons/obj/stacks.dmi'
icon_state = "traumakit"
/obj/random/medical/item_to_spawn()
return pick(prob(21);/obj/random/medical/lite,
+29
View File
@@ -74,6 +74,23 @@
prob(1);/mob/living/simple_animal/hostile/goose,
prob(20);/mob/living/simple_animal/giant_crab)
/obj/random/mob/sif/peaceful
name = "Random Peaceful Sif Animal"
desc = "This is a random peaceful cold weather animal."
icon_state = "penguin"
mob_returns_home = 1
mob_wander_distance = 12
/obj/random/mob/sif/peaceful/item_to_spawn()
return pick(prob(30);/mob/living/simple_animal/retaliate/diyaab,
prob(15);/mob/living/simple_animal/crab,
prob(15);/mob/living/simple_animal/penguin,
prob(15);/mob/living/simple_animal/mouse,
prob(15);/mob/living/simple_animal/corgi/tamaskan,
prob(20);/mob/living/simple_animal/giant_crab)
/obj/random/mob/sif/hostile
name = "Random Hostile Sif Animal"
desc = "This is a random hostile cold weather animal."
@@ -97,6 +114,18 @@
prob(33);/mob/living/simple_animal/hostile/giant_spider/hunter,
prob(45);/mob/living/simple_animal/hostile/giant_spider)
/obj/random/mob/spider/nurse
name = "Random Nurse Spider"
desc = "This is a random nurse spider."
icon_state = "nurse"
mob_returns_home = 1
mob_wander_distance = 4
/obj/random/mob/spider/nurse/item_to_spawn()
return pick(prob(22);/mob/living/simple_animal/hostile/giant_spider/nurse/hat,
prob(45);/mob/living/simple_animal/hostile/giant_spider/nurse)
/obj/random/mob/spider/mutant
name = "Random Mutant Spider"
desc = "This is a random mutated spider."
+25
View File
@@ -97,6 +97,31 @@
)
)
/obj/random/multiple/voidsuit/medical
name = "Random Mining Voidsuit"
desc = "This is a random mining voidsuit."
icon = 'icons/obj/clothing/suits.dmi'
icon_state = "rig-mining"
/obj/random/multiple/voidsuit/medical/item_to_spawn()
return pick(
prob(5);list(
/obj/item/clothing/suit/space/void/medical,
/obj/item/clothing/head/helmet/space/void/medical
),
prob(1);list(
/obj/item/clothing/suit/space/void/medical/alt,
/obj/item/clothing/head/helmet/space/void/medical/alt
),
prob(3);list(
/obj/item/clothing/suit/space/void/medical/bio,
/obj/item/clothing/head/helmet/space/void/medical/bio
),
prob(4);list(
/obj/item/clothing/suit/space/void/medical/emt,
/obj/item/clothing/head/helmet/space/void/medical/emt
)
)
/obj/random/rigsuit
name = "Random rigsuit"
@@ -1,27 +0,0 @@
/obj/structure/closet/l3closet/virology/New()
..()
new /obj/item/clothing/suit/bio_suit/virology/taur(src)
new /obj/item/clothing/head/bio_hood/virology(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/weapon/tank/oxygen(src)
/obj/structure/closet/l3closet/security/New()
..()
new /obj/item/clothing/suit/bio_suit/security/taur(src)
new /obj/item/clothing/head/bio_hood/security(src)
/obj/structure/closet/l3closet/janitor/New()
..()
new /obj/item/clothing/suit/bio_suit/janitor/taur(src)
new /obj/item/clothing/head/bio_hood/janitor(src)
new /obj/item/clothing/mask/gas(src)
new /obj/item/weapon/tank/emergency/oxygen/engi(src)
/obj/structure/closet/l3closet/scientist/New()
..()
new /obj/item/clothing/suit/bio_suit/scientist/taur(src)
new /obj/item/clothing/head/bio_hood/scientist(src)
@@ -313,6 +313,8 @@
icon_opened = "medical_wall_open"
icon_broken = "medical_wall_spark"
icon_off = "medical_wall_off"
plane = TURF_PLANE
layer = ABOVE_TURF_LAYER
anchored = 1
density = 0
wall_mounted = 1
@@ -215,6 +215,8 @@
icon_state = "hydrant"
icon_closed = "hydrant"
icon_opened = "hydrant_open"
plane = TURF_PLANE
layer = ABOVE_TURF_LAYER
anchored = 1
density = 0
wall_mounted = 1
@@ -1,13 +1,11 @@
/obj/structure/closet/radiation/New()
..()
new /obj/item/clothing/suit/radiation/taur(src)
new /obj/item/clothing/head/radiation(src)
new /obj/item/device/geiger(src)
/obj/structure/closet/bombcloset/New()
..()
new /obj/item/clothing/suit/bomb_suit/taur(src)
new /obj/item/clothing/under/color/black(src)
new /obj/item/clothing/shoes/black(src )
new /obj/item/clothing/head/bomb_hood(src)
@@ -15,7 +13,6 @@
/obj/structure/closet/bombclosetsecurity/New()
..()
new /obj/item/clothing/suit/bomb_suit/taur/security(src)
new /obj/item/clothing/under/rank/security(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/clothing/head/bomb_hood/security(src)
@@ -48,13 +48,13 @@
/mob/living/simple_animal/hostile/frog,
/mob/living/simple_animal/horse,
/mob/living/simple_animal/hostile/panther,
/mob/living/simple_animal/hostile/snake,
/mob/living/simple_animal/hostile/giant_snake,
/mob/living/simple_animal/hostile/wolf,
/mob/living/simple_animal/hostile/bear;0.5,
/mob/living/simple_animal/hostile/bear/brown;0.5,
/mob/living/simple_animal/hostile/carp,
/mob/living/simple_animal/hostile/mimic,
/mob/living/simple_animal/hostile/rous,
/mob/living/simple_animal/hostile/rat,
/mob/living/simple_animal/otie;0.5)
..()
@@ -73,7 +73,7 @@
/mob/living/simple_animal/hostile/alien/sentinel,
/mob/living/simple_animal/hostile/alien/queen,
/mob/living/simple_animal/otie/feral,
/mob/living/simple_animal/hostile/badboi)
/mob/living/simple_animal/hostile/corrupthound)
..()
/obj/structure/largecrate/animal/guardbeast
+8 -7
View File
@@ -2,13 +2,15 @@
name = "curtain"
icon = 'icons/obj/curtain.dmi'
icon_state = "closed"
layer = SHOWER_OPEN_LAYER
plane = MOB_PLANE
layer = ABOVE_MOB_LAYER
opacity = 1
density = 0
/obj/structure/curtain/open
icon_state = "open"
layer = SHOWER_CLOSED_LAYER
plane = OBJ_PLANE
layer = OBJ_LAYER
opacity = 0
/obj/structure/curtain/bullet_act(obj/item/projectile/P, def_zone)
@@ -27,10 +29,12 @@
set_opacity(!opacity)
if(opacity)
icon_state = "closed"
layer = SHOWER_CLOSED_LAYER
plane = MOB_PLANE
layer = ABOVE_MOB_LAYER
else
icon_state = "open"
layer = SHOWER_OPEN_LAYER
plane = OBJ_PLANE
layer = OBJ_LAYER
/obj/structure/curtain/attackby(obj/item/P, mob/user)
if(istype(P, /obj/item/weapon/wirecutters))
@@ -76,6 +80,3 @@
/obj/structure/curtain/open/shower/security
color = "#AA0000"
#undef SHOWER_OPEN_LAYER
#undef SHOWER_CLOSED_LAYER
@@ -3,6 +3,8 @@
desc = "A small wall mounted cabinet designed to hold a fire extinguisher."
icon = 'icons/obj/closet.dmi'
icon_state = "extinguisher_closed"
plane = TURF_PLANE
layer = ABOVE_TURF_LAYER
anchored = 1
density = 0
var/obj/item/weapon/extinguisher/has_extinguisher
@@ -830,3 +830,42 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh
/obj/item/mecha_parts/mecha_equipment/repair_droid,
/obj/item/mecha_parts/mecha_equipment/teleporter
)
/obj/structure/loot_pile/surface/drone
name = "drone wreckage"
desc = "The ruins of some unfortunate drone. Perhaps something is salvageable."
icon = 'icons/mob/animal.dmi'
icon_state = "drone_dead"
// Since the actual drone loot is a bit stupid in how it is handled, this is a sparse and empty list with items I don't exactly want in it. But until we can get the proper items in . . .
common_loot = list(
/obj/random/tool,
/obj/item/stack/cable_coil/random,
/obj/random/tank,
/obj/random/tech_supply/component,
/obj/item/stack/material/steel{amount = 25},
/obj/item/stack/material/glass{amount = 10},
/obj/item/stack/material/plasteel{amount = 5},
/obj/item/weapon/cell,
/obj/item/weapon/material/shard
)
uncommon_loot = list(
/obj/item/weapon/cell/high,
/obj/item/robot_parts/robot_component/actuator,
/obj/item/robot_parts/robot_component/armour,
/obj/item/robot_parts/robot_component/binary_communication_device,
/obj/item/robot_parts/robot_component/camera,
/obj/item/robot_parts/robot_component/diagnosis_unit,
/obj/item/robot_parts/robot_component/radio
)
rare_loot = list(
/obj/item/weapon/cell/super,
/obj/item/borg/upgrade/restart,
/obj/item/borg/upgrade/jetpack,
/obj/item/borg/upgrade/tasercooler,
/obj/item/borg/upgrade/syndicate,
/obj/item/borg/upgrade/vtec
)
+14 -1
View File
@@ -3,7 +3,8 @@
anchored = 1
opacity = 0
density = 0
layer = ABOVE_JUNK_LAYER
plane = TURF_PLANE
layer = ABOVE_TURF_LAYER
w_class = ITEMSIZE_NORMAL
/obj/structure/sign/ex_act(severity)
@@ -387,6 +388,18 @@
icon = 'icons/obj/christmas.dmi'
icon_state = "doorwreath"
/obj/structure/sign/hostilefauna
icon = 'icons/obj/decals_vr.dmi'
name = "\improper Caution: Hostile fauna"
desc = "This sign warns of hostile life forms in the area."
icon_state = "h_fauna"
/obj/structure/sign/graffiti/pisoff
icon = 'icons/obj/decals_vr.dmi'
name = "\improper PIS OFF"
desc = "This sign bears some rather rude looking graffiti instructing you to PIS OFF."
icon_state = "pisoff"
//Eris signs
/obj/structure/sign/ironhammer
+2 -1
View File
@@ -142,7 +142,8 @@
name = "mist"
icon = 'icons/obj/watercloset.dmi'
icon_state = "mist"
layer = MOB_LAYER + 1
plane = MOB_PLANE
layer = ABOVE_MOB_LAYER
anchored = 1
mouse_opacity = 0