Merge pull request #3555 from Woodratt/WR_6302017_Mapstuff

Woodrat breaks map stuff
This commit is contained in:
Anewbe
2017-07-06 17:43:09 -05:00
committed by GitHub
37 changed files with 31868 additions and 14177 deletions

View File

@@ -1431,8 +1431,8 @@ area/space/atmosalert()
name = "\improper Visitor Lodging"
icon_state = "visitor_lodging"
/area/crew_quarters/visitor_dinning
name = "\improper Visitor Dinning"
/area/crew_quarters/visitor_dining
name = "\improper Visitor Dining"
icon_state = "visitor_dinning"
/area/crew_quarters/visitor_laundry

View File

@@ -96,6 +96,11 @@
name = "External Airlock"
icon = 'icons/obj/doors/Doorext.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_ext
/obj/machinery/door/airlock/glass_external
name = "External Airlock"
icon = 'icons/obj/doors/Doorextglass.dmi'
assembly_type = /obj/structure/door_assembly/door_assembly_ext
opacity = 0
glass = 1

View File

@@ -244,33 +244,112 @@
/obj/item/weapon/reagent_containers/food/drinks/bottle/patron)
/obj/random/energy
name = "Random Security Energy Weapon"
name = "Random Energy Weapon"
desc = "This is a random security weapon."
icon = 'icons/obj/gun.dmi'
icon_state = "energykill100"
/obj/random/energy/item_to_spawn()
return pick(prob(3);/obj/item/weapon/gun/energy/laser,
prob(4);/obj/item/weapon/gun/energy/gun,
prob(3);/obj/item/weapon/gun/energy/gun/burst,
prob(1);/obj/item/weapon/gun/energy/gun/nuclear,
prob(2);/obj/item/weapon/gun/energy/retro,
prob(2);/obj/item/weapon/gun/energy/lasercannon,
prob(3);/obj/item/weapon/gun/energy/xray,
prob(1);/obj/item/weapon/gun/energy/sniperrifle,
prob(1);/obj/item/weapon/gun/energy/plasmastun,
prob(2);/obj/item/weapon/gun/energy/ionrifle,
prob(2);/obj/item/weapon/gun/energy/ionrifle/pistol,
prob(3);/obj/item/weapon/gun/energy/toxgun,
prob(4);/obj/item/weapon/gun/energy/taser,
prob(2);/obj/item/weapon/gun/energy/crossbow/largecrossbow,
prob(4);/obj/item/weapon/gun/energy/stunrevolver)
/obj/random/energy/sec
name = "Random Security Energy Weapon"
desc = "This is a random security weapon."
icon = 'icons/obj/gun.dmi'
icon_state = "energykill100"
/obj/random/energy/sec/item_to_spawn()
return pick(prob(2);/obj/item/weapon/gun/energy/laser,
prob(2);/obj/item/weapon/gun/energy/gun)
/obj/random/projectile
name = "Random Security Projectile Weapon"
name = "Random Projectile Weapon"
desc = "This is a random security weapon."
icon = 'icons/obj/gun.dmi'
icon_state = "revolver"
/obj/random/projectile/item_to_spawn()
return pick(prob(3);/obj/item/weapon/gun/projectile/automatic/wt550,
prob(3);/obj/item/weapon/gun/projectile/automatic/mini_uzi,
prob(3);/obj/item/weapon/gun/projectile/automatic/tommygun,
prob(2);/obj/item/weapon/gun/projectile/automatic/c20r,
prob(2);/obj/item/weapon/gun/projectile/automatic/sts35,
prob(2);/obj/item/weapon/gun/projectile/automatic/z8,
prob(4);/obj/item/weapon/gun/projectile/colt,
prob(2);/obj/item/weapon/gun/projectile/deagle,
prob(1);/obj/item/weapon/gun/projectile/deagle/camo,
prob(1);/obj/item/weapon/gun/projectile/deagle/gold,
prob(3);/obj/item/weapon/gun/projectile/derringer,
prob(1);/obj/item/weapon/gun/projectile/heavysniper,
prob(4);/obj/item/weapon/gun/projectile/luger,
prob(3);/obj/item/weapon/gun/projectile/luger/brown,
prob(4);/obj/item/weapon/gun/projectile/sec,
prob(3);/obj/item/weapon/gun/projectile/sec/wood,
prob(4);/obj/item/weapon/gun/projectile/pistol,
prob(5);/obj/item/weapon/gun/projectile/pirate,
prob(2);/obj/item/weapon/gun/projectile/revolver,
prob(4);/obj/item/weapon/gun/projectile/revolver/deckard,
prob(4);/obj/item/weapon/gun/projectile/revolver/detective,
prob(2);/obj/item/weapon/gun/projectile/revolver/judge,
prob(3);/obj/item/weapon/gun/projectile/revolver/lemat,
prob(2);/obj/item/weapon/gun/projectile/revolver/mateba,
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(2);/obj/item/weapon/gun/projectile/shotgun/pump/combat,
prob(4);/obj/item/weapon/gun/projectile/shotgun/pump/rifle,
prob(3);/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever,
prob(3);/obj/item/weapon/gun/projectile/shotgun/pump/rifle/mosin,
prob(2);/obj/item/weapon/gun/projectile/silenced)
/obj/random/projectile/sec
name = "Random Security Projectile Weapon"
desc = "This is a random security weapon."
icon = 'icons/obj/gun.dmi'
icon_state = "revolver"
/obj/random/projectile/sec/item_to_spawn()
return pick(prob(3);/obj/item/weapon/gun/projectile/shotgun/pump,
prob(2);/obj/item/weapon/gun/projectile/automatic/wt550,
prob(1);/obj/item/weapon/gun/projectile/shotgun/pump/combat)
/obj/random/handgun
name = "Random Handgun"
desc = "This is a random security sidearm."
desc = "This is a random sidearm."
icon = 'icons/obj/gun.dmi'
icon_state = "secgundark"
/obj/random/handgun/item_to_spawn()
return pick(prob(4);/obj/item/weapon/gun/projectile/sec,
prob(4);/obj/item/weapon/gun/projectile/luger,
prob(2);/obj/item/weapon/gun/energy/gun,
prob(2);/obj/item/weapon/gun/projectile/colt,
prob(2);/obj/item/weapon/gun/projectile/pistol,
prob(1);/obj/item/weapon/gun/energy/retro,
prob(1);/obj/item/weapon/gun/projectile/sec/wood,
prob(3);/obj/item/weapon/gun/projectile/luger/brown)
/obj/random/handgun/sec
name = "Random Security Handgun"
desc = "This is a random security sidearm."
icon = 'icons/obj/gun.dmi'
icon_state = "secgundark"
/obj/random/handgun/sec/item_to_spawn()
return pick(prob(3);/obj/item/weapon/gun/projectile/sec,
prob(1);/obj/item/weapon/gun/projectile/sec/wood)
@@ -895,4 +974,91 @@ var/list/multi_point_spawns
/obj/random_multi/single_item/captains_spare_id
name = "Multi Point - Captain's Spare"
id = "Captain's spare id"
item_path = /obj/item/weapon/card/id/captains_spare
item_path = /obj/item/weapon/card/id/captains_spare
//Multiple Object Spawn
/obj/random/multiple
/obj/random/multiple/spawn_item()
var/list/things_to_make = item_to_spawn()
for(var/new_type in things_to_make)
new new_type(src.loc)
/obj/random/multiple/voidsuit
name = "Random Voidsuit"
desc = "This is a random voidsuit."
icon = 'icons/obj/clothing/suits.dmi'
icon_state = "void"
/obj/random/multiple/voidsuit/item_to_spawn()
return pick(
prob(5);list(
/obj/item/clothing/suit/space/void,
/obj/item/clothing/head/helmet/space/void
),
prob(5);list(
/obj/item/clothing/suit/space/void/atmos,
/obj/item/clothing/head/helmet/space/void/atmos
),
prob(5);list(
/obj/item/clothing/suit/space/void/atmos/alt,
/obj/item/clothing/head/helmet/space/void/atmos/alt
),
prob(5);list(
/obj/item/clothing/suit/space/void/engineering,
/obj/item/clothing/head/helmet/space/void/engineering
),
prob(5);list(
/obj/item/clothing/suit/space/void/engineering/alt,
/obj/item/clothing/head/helmet/space/void/engineering/alt
),
prob(5);list(
/obj/item/clothing/suit/space/void/engineering/construction,
/obj/item/clothing/head/helmet/space/void/engineering/construction
),
prob(5);list(
/obj/item/clothing/suit/space/void/engineering/salvage,
/obj/item/clothing/head/helmet/space/void/engineering/salvage
),
prob(5);list(
/obj/item/clothing/suit/space/void/medical,
/obj/item/clothing/head/helmet/space/void/medical
),
prob(5);list(
/obj/item/clothing/suit/space/void/medical/alt,
/obj/item/clothing/head/helmet/space/void/medical/alt
),
prob(5);list(
/obj/item/clothing/suit/space/void/medical/bio,
/obj/item/clothing/head/helmet/space/void/medical/bio
),
prob(5);list(
/obj/item/clothing/suit/space/void/medical/emt,
/obj/item/clothing/head/helmet/space/void/medical/emt
),
prob(5);list(
/obj/item/clothing/suit/space/void/merc,
/obj/item/clothing/head/helmet/space/void/merc
),
prob(5);list(
/obj/item/clothing/suit/space/void/mining,
/obj/item/clothing/head/helmet/space/void/mining
),
prob(5);list(
/obj/item/clothing/suit/space/void/mining/alt,
/obj/item/clothing/head/helmet/space/void/mining/alt
),
prob(5);list(
/obj/item/clothing/suit/space/void/security,
/obj/item/clothing/head/helmet/space/void/security
),
prob(5);list(
/obj/item/clothing/suit/space/void/security/alt,
/obj/item/clothing/head/helmet/space/void/security/alt
),
prob(5);list(
/obj/item/clothing/suit/space/void/security/riot,
/obj/item/clothing/head/helmet/space/void/security/riot
)
)

View File

@@ -29,21 +29,22 @@
lazors++
if (istype(G, /obj/item/weapon/gun/projectile/))
shottas++
if (lazors || shottas)
for (var/i = 0 to 2)
for (var/i = 0 to 2)
if(lazors || shottas) // only make icons if we have one of the two types.
var/image/gun = image(icon(src.icon))
if (lazors > 0 && (shottas <= 0 || prob(50)))
if (lazors > shottas)
lazors--
gun.icon_state = "laser"
else if (shottas > 0)
else if (shottas)
shottas--
gun.icon_state = "projectile"
gun.pixel_x = i*4
overlays += gun
overlays += icon(src.icon,"door")
overlays += icon(src.icon, "door")
if(welded)
overlays += icon(src.icon,"welded")
if(broken)
overlays += icon(src.icon,"broken")
@@ -51,3 +52,4 @@
overlays += icon(src.icon,"locked")
else
overlays += icon(src.icon,"open")

View File

@@ -71,18 +71,18 @@
glass_type = "/glass_medical"
airlock_type = "/medical"
/obj/structure/door_assembly/door_assembly_ext
base_icon_state = "ext"
base_name = "External airlock"
glass_type = "/glass_external"
airlock_type = "/external"
/obj/structure/door_assembly/door_assembly_mai
base_icon_state = "mai"
base_name = "Maintenance airlock"
airlock_type = "/maintenance"
glass = -1
/obj/structure/door_assembly/door_assembly_ext
base_icon_state = "ext"
base_name = "External airlock"
airlock_type = "/external"
glass = -1
/obj/structure/door_assembly/door_assembly_fre
base_icon_state = "fre"
base_name = "Freezer airlock"

View File

@@ -274,6 +274,25 @@
desc = "A warning sign which reads 'HYDROPONICS'."
icon_state = "hydro1"
/obj/structure/sign/hydro
name = "\improper HYDROPONICS"
desc = "A sign labelling an area as a place where plants are grown."
icon_state = "hydro1"
/obj/structure/sign/hydrostorage
name = "\improper HYDROPONICS STORAGE"
desc = "A sign labelling an area as a place where plant growing supplies are kept."
icon_state = "hydro3"
/obj/structure/sign/directions
name = "direction sign"
desc = "A direction sign, claiming to know the way."
icon_state = "direction"
/obj/structure/sign/directions/New()
..()
desc = "A direction sign, pointing out which way \the [src] is."
/obj/structure/sign/directions/science
name = "\improper Science department"
desc = "A direction sign, pointing out which way the Science department is."
@@ -295,10 +314,14 @@
icon_state = "direction_med"
/obj/structure/sign/directions/evac
name = "\improper Escape Arm"
name = "\improper Evacuation"
desc = "A direction sign, pointing out which way the Escape Shuttle dock is."
icon_state = "direction_evac"
/obj/structure/sign/directions/bridge
name = "\improper Bridge"
icon_state = "direction_bridge"
/obj/structure/sign/directions/cargo
name = "\improper Cargo department"
desc = "A direction sign, pointing out which way the Cargo department is."
@@ -315,3 +338,31 @@
desc = "Prickly and festive."
icon = 'icons/obj/christmas.dmi'
icon_state = "doorwreath"
/obj/structure/sign/deck/first
name = "\improper First Deck"
icon_state = "deck-1"
/obj/structure/sign/deck/second
name = "\improper Second Deck"
icon_state = "deck-2"
/obj/structure/sign/deck/third
name = "\improper Third Deck"
icon_state = "deck-3"
/obj/structure/sign/deck/fourth
name = "\improper Fourth Deck"
icon_state = "deck-4"
/obj/structure/sign/hangar/one
name = "\improper Hangar One"
icon_state = "hangar-1"
/obj/structure/sign/hangar/two
name = "\improper Hangar Two"
icon_state = "hangar-2"
/obj/structure/sign/hangar/three
name = "\improper Hangar Three"
icon_state = "hangar-3"

View File

@@ -6,6 +6,7 @@
temperature = T20C
thermal_conductivity = OPEN_HEAT_TRANSFER_COEFFICIENT
var/keep_sprite = 0
// heat_capacity = 700000 No.
/turf/space/New()

View File

@@ -1,77 +1,49 @@
/turf/space/transit
keep_sprite = 1
var/pushdirection // push things that get caught in the transit tile this direction
//Overwrite because we dont want people building rods in space.
/turf/space/transit/attackby(obj/O as obj, mob/user as mob)
return
//generates a list used to randomize transit animations so they aren't in lockstep
/turf/space/transit/proc/get_cross_shift_list(var/size)
var/list/result = list()
result += rand(0, 14)
for(var/i in 2 to size)
var/shifts = list(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
shifts -= result[i - 1] //consecutive shifts should not be equal
if(i == size)
shifts -= result[1] //because shift list is a ring buffer
result += pick(shifts)
return result
/turf/space/transit/north // moving to the north
pushdirection = SOUTH // south because the space tile is scrolling south
var/static/list/phase_shift_by_x
//IF ANYONE KNOWS A MORE EFFICIENT WAY OF MANAGING THESE SPRITES, BE MY GUEST.
shuttlespace_ns1
icon_state = "speedspace_ns_1"
shuttlespace_ns2
icon_state = "speedspace_ns_2"
shuttlespace_ns3
icon_state = "speedspace_ns_3"
shuttlespace_ns4
icon_state = "speedspace_ns_4"
shuttlespace_ns5
icon_state = "speedspace_ns_5"
shuttlespace_ns6
icon_state = "speedspace_ns_6"
shuttlespace_ns7
icon_state = "speedspace_ns_7"
shuttlespace_ns8
icon_state = "speedspace_ns_8"
shuttlespace_ns9
icon_state = "speedspace_ns_9"
shuttlespace_ns10
icon_state = "speedspace_ns_10"
shuttlespace_ns11
icon_state = "speedspace_ns_11"
shuttlespace_ns12
icon_state = "speedspace_ns_12"
shuttlespace_ns13
icon_state = "speedspace_ns_13"
shuttlespace_ns14
icon_state = "speedspace_ns_14"
shuttlespace_ns15
icon_state = "speedspace_ns_15"
/turf/space/transit/north/New()
..()
if(!phase_shift_by_x)
phase_shift_by_x = get_cross_shift_list(15)
var/x_shift = phase_shift_by_x[src.x % (phase_shift_by_x.len - 1) + 1]
var/transit_state = (world.maxy - src.y + x_shift)%15 + 1
icon_state = "speedspace_ns_[transit_state]"
/turf/space/transit/east // moving to the east
pushdirection = WEST
var/static/list/phase_shift_by_y
shuttlespace_ew1
icon_state = "speedspace_ew_1"
shuttlespace_ew2
icon_state = "speedspace_ew_2"
shuttlespace_ew3
icon_state = "speedspace_ew_3"
shuttlespace_ew4
icon_state = "speedspace_ew_4"
shuttlespace_ew5
icon_state = "speedspace_ew_5"
shuttlespace_ew6
icon_state = "speedspace_ew_6"
shuttlespace_ew7
icon_state = "speedspace_ew_7"
shuttlespace_ew8
icon_state = "speedspace_ew_8"
shuttlespace_ew9
icon_state = "speedspace_ew_9"
shuttlespace_ew10
icon_state = "speedspace_ew_10"
shuttlespace_ew11
icon_state = "speedspace_ew_11"
shuttlespace_ew12
icon_state = "speedspace_ew_12"
shuttlespace_ew13
icon_state = "speedspace_ew_13"
shuttlespace_ew14
icon_state = "speedspace_ew_14"
shuttlespace_ew15
icon_state = "speedspace_ew_15"
/turf/space/transit/east/New()
..()
if(!phase_shift_by_y)
phase_shift_by_y = get_cross_shift_list(15)
var/y_shift = phase_shift_by_y[src.y % (phase_shift_by_y.len - 1) + 1]
var/transit_state = (world.maxx - src.x + y_shift)%15 + 1
icon_state = "speedspace_ew_[transit_state]"