mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-25 13:07:46 +01:00
Metastation: Compatibility modifications
This commit modifies metastation to actually be playable on our code Squashed Commits: - [META] Fixes emergency shuttle being stuck - Toxins Mixing fix: chamber floor > engine - Adds research outpost + Chem lab to routpost - Add vox raider ship, fix pods and a few shuttle zones. - Remove step_x so TRAVIS likes it - Finish spawn points, add telepad. - Replace showroom with NT-rep/Blueshield Office Don't worry, the nuke keg is in the meeting room. - Convert art storage to barber shop, place artvend in tool storage - Buncha medbay tweaks, 2nd surgery table, body scanners, fixed sleepers, minor balance changes. - Add Mr. Changs to dorms - Update meta to latest paracode - Fix punpun - Atmos volume pumps, atmos control console - Add chicken statue to Mr. Chang's (*cry), Bar smartfridge - Fix mr. changs statue and chairs - Add togglable polarized windows to surgery, so surgeons can prevent seeing other surgery procedures if necessary - Actually add atmos control comp - Hydro trays are no longer dirt - Fix brig windoors - Fix escape shuttle sleepers
This commit is contained in:
@@ -0,0 +1,117 @@
|
||||
/obj/effect/spawner/lootdrop
|
||||
icon = 'icons/mob/screen_gen.dmi'
|
||||
icon_state = "x2"
|
||||
color = "#00FF00"
|
||||
var/lootcount = 1 //how many items will be spawned
|
||||
var/lootdoubles = 1 //if the same item can be spawned twice
|
||||
var/list/loot //a list of possible items to spawn e.g. list(/obj/item, /obj/structure, /obj/effect)
|
||||
|
||||
/obj/effect/spawner/lootdrop/New()
|
||||
if(loot && loot.len)
|
||||
for(var/i = lootcount, i > 0, i--)
|
||||
if(!loot.len) break
|
||||
var/lootspawn = pickweight(loot)
|
||||
if(!lootdoubles)
|
||||
loot.Remove(lootspawn)
|
||||
|
||||
if(lootspawn)
|
||||
if(!istext(lootspawn))
|
||||
new lootspawn(get_turf(src))
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/spawner/lootdrop/armory_contraband
|
||||
name = "armory contraband gun spawner"
|
||||
lootdoubles = 0
|
||||
|
||||
loot = list(
|
||||
/obj/item/weapon/gun/projectile/automatic/pistol = 8,
|
||||
/obj/item/weapon/gun/projectile/shotgun/combat = 5,
|
||||
/obj/item/weapon/gun/projectile/revolver/mateba,
|
||||
)
|
||||
|
||||
/obj/effect/spawner/lootdrop/maintenance
|
||||
name = "maintenance loot spawner"
|
||||
|
||||
//How to balance this table
|
||||
//-------------------------
|
||||
//The total added weight of all the entries should be (roughly) equal to the total number of lootdrops
|
||||
//(take in account those that spawn more than one object!)
|
||||
//
|
||||
//While this is random, probabilities tells us that item distribution will have a tendency to look like
|
||||
//the content of the weighted table that created them.
|
||||
//The less lootdrops, the less even the distribution.
|
||||
//
|
||||
//If you want to give items a weight <1 you can multiply all the weights by 10
|
||||
//
|
||||
//the "" entry will spawn nothing, if you increase this value,
|
||||
//ensure that you balance it with more spawn points
|
||||
|
||||
//table data:
|
||||
//-----------
|
||||
//aft maintenance: 24 items, 18 spots 2 extra (28/08/2014)
|
||||
//asmaint: 16 items, 11 spots 0 extra (08/08/2014)
|
||||
//asmaint2: 36 items, 26 spots 2 extra (28/08/2014)
|
||||
//fpmaint: 5 items, 4 spots 0 extra (08/08/2014)
|
||||
//fpmaint2: 12 items, 11 spots 2 extra (28/08/2014)
|
||||
//fsmaint: 0 items, 0 spots 0 extra (08/08/2014)
|
||||
//fsmaint2: 40 items, 27 spots 5 extra (28/08/2014)
|
||||
//maintcentral: 2 items, 2 spots 0 extra (08/08/2014)
|
||||
//port: 5 items, 5 spots 0 extra (08/08/2014)
|
||||
loot = list(
|
||||
/obj/item/bodybag = 1,
|
||||
/obj/item/clothing/glasses/meson = 2,
|
||||
/obj/item/clothing/glasses/sunglasses = 1,
|
||||
/obj/item/clothing/gloves/color/fyellow = 1,
|
||||
/obj/item/clothing/head/hardhat = 1,
|
||||
/obj/item/clothing/head/hardhat/red = 1,
|
||||
/obj/item/clothing/head/that{throwforce = 1; throwing = 1} = 1,
|
||||
/obj/item/clothing/head/ushanka = 1,
|
||||
/obj/item/clothing/head/welding = 1,
|
||||
/obj/item/clothing/mask/gas = 15,
|
||||
/obj/item/clothing/suit/storage/hazardvest = 1,
|
||||
/obj/item/clothing/under/rank/vice = 1,
|
||||
/obj/item/device/assembly/prox_sensor = 4,
|
||||
/obj/item/device/assembly/timer = 3,
|
||||
/obj/item/device/flashlight = 4,
|
||||
/obj/item/device/flashlight/pen = 1,
|
||||
/obj/item/device/multitool = 2,
|
||||
/obj/item/device/radio/off = 2,
|
||||
/obj/item/device/t_scanner = 6,
|
||||
/obj/item/stack/cable_coil = 4,
|
||||
/obj/item/stack/cable_coil{amount = 5} = 6,
|
||||
/obj/item/stack/medical/bruise_pack = 1,
|
||||
/obj/item/stack/rods{amount = 10} = 9,
|
||||
/obj/item/stack/rods{amount = 23} = 1,
|
||||
/obj/item/stack/rods{amount = 50} = 1,
|
||||
/obj/item/stack/sheet/cardboard = 2,
|
||||
/obj/item/stack/sheet/metal{amount = 20} = 1,
|
||||
/obj/item/stack/sheet/mineral/plasma{layer = 2.9} = 1,
|
||||
/obj/item/stack/sheet/rglass = 1,
|
||||
/obj/item/weapon/book/manual/engineering_construction = 1,
|
||||
/obj/item/weapon/book/manual/engineering_hacking = 1,
|
||||
/obj/item/weapon/coin/silver = 1,
|
||||
/obj/item/weapon/coin/twoheaded = 1,
|
||||
/obj/item/weapon/contraband/poster = 1,
|
||||
/obj/item/weapon/crowbar = 1,
|
||||
/obj/item/weapon/crowbar/red = 1,
|
||||
/obj/item/weapon/extinguisher = 11,
|
||||
//obj/item/weapon/gun/projectile/revolver/russian = 1, //disabled until lootdrop is a proper world proc.
|
||||
/obj/item/weapon/hand_labeler = 1,
|
||||
/obj/item/weapon/paper/crumpled = 1,
|
||||
/obj/item/weapon/pen = 1,
|
||||
/obj/item/weapon/stock_parts/cell = 3,
|
||||
/obj/item/weapon/storage/belt/utility = 2,
|
||||
/obj/item/weapon/storage/box = 2,
|
||||
/obj/item/weapon/storage/box/cups = 1,
|
||||
/obj/item/weapon/storage/box/donkpockets = 1,
|
||||
/obj/item/weapon/storage/box/lights/mixed = 3,
|
||||
/obj/item/weapon/storage/fancy/cigarettes/dromedaryco = 1,
|
||||
/obj/item/weapon/storage/toolbox/mechanical = 1,
|
||||
/obj/item/weapon/screwdriver = 3,
|
||||
/obj/item/weapon/tank/emergency_oxygen = 2,
|
||||
/obj/item/weapon/vending_refill/cola = 1,
|
||||
/obj/item/weapon/weldingtool = 3,
|
||||
/obj/item/weapon/wirecutters = 1,
|
||||
/obj/item/weapon/wrench = 4,
|
||||
"" = 11
|
||||
)
|
||||
@@ -105,6 +105,8 @@ var/global/wcColored
|
||||
/obj/structure/window/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
|
||||
if(istype(mover) && mover.checkpass(PASSGLASS))
|
||||
return 1
|
||||
if(dir == SOUTHWEST || dir == SOUTHEAST || dir == NORTHWEST || dir == NORTHEAST)
|
||||
return 0 //full tile window, you can't move into it!
|
||||
if(get_dir(loc, target) == dir)
|
||||
return !density
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user