Merge commit '7075a65df022bc0eae0c3fe6ff501b1bce449cdd' of https://github.com/PolarisSS13/Polaris into polaris-sync-2018-05-01
# Conflicts: # code/modules/mob/living/simple_animal/animals/giant_spider.dm # html/changelogs/.all_changelog.yml
@@ -10,6 +10,5 @@
|
||||
#define WEATHER_HOT "hot"
|
||||
#define WEATHER_BLOOD_MOON "blood moon" // For admin fun or cult later on.
|
||||
|
||||
#define PLANET_PROCESS_WEATHER 0x1
|
||||
#define PLANET_PROCESS_SUN 0x2
|
||||
#define PLANET_PROCESS_TEMP 0x4
|
||||
#define PLANET_PROCESS_SUN 0x1
|
||||
#define PLANET_PROCESS_TEMP 0x2
|
||||
@@ -21,6 +21,7 @@ var/datum/controller/process/planet/planet_controller = null
|
||||
for(var/datum/planet/P in planets)
|
||||
if(OT.z in P.expected_z_levels)
|
||||
P.planet_floors |= OT
|
||||
OT.vis_contents |= P.weather_holder.visuals
|
||||
break
|
||||
outdoor_turfs.Cut() //Why were you in there INCORRECTLY?
|
||||
|
||||
@@ -36,6 +37,7 @@ var/datum/controller/process/planet/planet_controller = null
|
||||
var/datum/planet/P = planet
|
||||
if(T.z in P.expected_z_levels)
|
||||
P.planet_floors -= T
|
||||
T.vis_contents -= P.weather_holder.visuals
|
||||
|
||||
/datum/controller/process/planet/doWork()
|
||||
if(outdoor_turfs.len || planetary_walls.len)
|
||||
@@ -44,19 +46,6 @@ var/datum/controller/process/planet/planet_controller = null
|
||||
for(var/datum/planet/P in planets)
|
||||
P.process(schedule_interval / 10)
|
||||
SCHECK //Your process() really shouldn't take this long...
|
||||
//Weather style needs redrawing
|
||||
if(P.needs_work & PLANET_PROCESS_WEATHER)
|
||||
P.needs_work &= ~PLANET_PROCESS_WEATHER
|
||||
var/image/new_overlay = image(icon = P.weather_holder.current_weather.icon, icon_state = P.weather_holder.current_weather.icon_state)
|
||||
new_overlay.plane = PLANE_PLANETLIGHTING
|
||||
//Redraw weather icons
|
||||
for(var/T in P.planet_floors)
|
||||
var/turf/simulated/turf = T
|
||||
// turf.overlays -= turf.weather_overlay
|
||||
turf.weather_overlay = new_overlay
|
||||
// turf.overlays += turf.weather_overlay
|
||||
turf.update_icon()
|
||||
SCHECK
|
||||
|
||||
//Sun light needs changing
|
||||
if(P.needs_work & PLANET_PROCESS_SUN)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
)
|
||||
)
|
||||
@@ -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(
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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."
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
)
|
||||
@@ -13,6 +13,9 @@
|
||||
return
|
||||
|
||||
/turf/simulated/wall/solidrock //for more stylish anti-cheese.
|
||||
name = "solid rock"
|
||||
desc = "This rock seems dense, impossible to drill."
|
||||
description_info = "Probably not going to be able to drill or bomb your way through this, best to try and find a way around."
|
||||
icon_state = "bedrock"
|
||||
var/base_state = "bedrock"
|
||||
block_tele = TRUE
|
||||
|
||||
@@ -84,9 +84,6 @@ var/image/no_ceiling_image = null
|
||||
if(!isnull(burnt) && (flooring.flags & TURF_CAN_BURN))
|
||||
add_overlay(get_flooring_overlay("[flooring.icon_base]-burned-[burnt]","burned[burnt]")) // VOREStation Edit - Eris overlays
|
||||
|
||||
if(weather_overlay)
|
||||
add_overlay(weather_overlay)
|
||||
|
||||
if(update_neighbors)
|
||||
for(var/turf/simulated/floor/F in range(src, 1))
|
||||
if(F == src)
|
||||
|
||||
@@ -7,8 +7,6 @@ var/list/outdoor_turfs = list()
|
||||
var/edge_blending_priority = 0
|
||||
// Outdoors var determines if the game should consider the turf to be 'outdoors', which controls certain things such as weather effects.
|
||||
var/outdoors = FALSE
|
||||
// This holds the image for the current weather effect.
|
||||
var/image/weather_overlay = null
|
||||
|
||||
/turf/simulated/floor/outdoors
|
||||
name = "generic ground"
|
||||
@@ -32,7 +30,7 @@ var/list/outdoor_turfs = list()
|
||||
/turf/simulated/floor/Destroy()
|
||||
if(outdoors)
|
||||
planet_controller.unallocateTurf(src)
|
||||
..()
|
||||
return ..()
|
||||
|
||||
/turf/simulated/proc/make_outdoors()
|
||||
outdoors = TRUE
|
||||
@@ -44,20 +42,14 @@ var/list/outdoor_turfs = list()
|
||||
planet_controller.unallocateTurf(src)
|
||||
else // This is happening during map gen, if there's no planet_controller (hopefully).
|
||||
outdoor_turfs -= src
|
||||
if(weather_overlay)
|
||||
cut_overlay(weather_overlay)
|
||||
qdel_null(weather_overlay)
|
||||
update_icon()
|
||||
|
||||
/turf/simulated/post_change()
|
||||
..()
|
||||
// If it was outdoors and still is, it will not get added twice when the planet controller gets around to putting it in.
|
||||
if(outdoors)
|
||||
make_outdoors()
|
||||
// outdoor_turfs += src
|
||||
else
|
||||
make_indoors()
|
||||
// planet_controller.unallocateTurf(src)
|
||||
|
||||
/turf/simulated/proc/update_icon_edge()
|
||||
if(edge_blending_priority)
|
||||
|
||||
@@ -137,6 +137,8 @@ turf/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
animate(O, transform = turn(O.transform, -40), time = 4)
|
||||
sleep(4)
|
||||
animate(O, transform = turn(O.transform, 20), time = 2)
|
||||
sleep(2)
|
||||
O.update_transform()
|
||||
|
||||
/turf/Enter(atom/movable/mover as mob|obj, atom/forget as mob|obj|turf|area)
|
||||
if(movement_disabled && usr.ckey != movement_disabled_exception)
|
||||
|
||||
@@ -39,7 +39,6 @@
|
||||
var/old_dynamic_lighting = dynamic_lighting
|
||||
var/old_affecting_lights = affecting_lights
|
||||
var/old_lighting_overlay = lighting_overlay
|
||||
var/old_weather_overlay = weather_overlay
|
||||
var/old_corners = corners
|
||||
|
||||
//world << "Replacing [src.type] with [N]"
|
||||
@@ -58,9 +57,6 @@
|
||||
if(old_fire)
|
||||
fire = old_fire
|
||||
|
||||
if(old_weather_overlay)
|
||||
W.weather_overlay = old_weather_overlay
|
||||
|
||||
if (istype(W,/turf/simulated/floor))
|
||||
W.RemoveLattice()
|
||||
|
||||
@@ -85,9 +81,6 @@
|
||||
if(old_fire)
|
||||
old_fire.RemoveFire()
|
||||
|
||||
if(old_weather_overlay)
|
||||
W.weather_overlay = old_weather_overlay
|
||||
|
||||
if(tell_universe)
|
||||
universe.OnTurfChange(W)
|
||||
|
||||
|
||||
@@ -455,4 +455,4 @@ datum/gear/suit/duster
|
||||
/datum/gear/suit/snowsuit/cargo
|
||||
display_name = "snowsuit, supply"
|
||||
path = /obj/item/clothing/suit/storage/snowsuit/cargo
|
||||
allowed_roles = list("Quartermaster","shaft Miner","Cargo Technician","Head of Personnel")
|
||||
allowed_roles = list("Quartermaster","Shaft Miner","Cargo Technician","Head of Personnel")
|
||||
@@ -60,7 +60,7 @@ var/global/list/severity_to_string = list(EVENT_LEVEL_MUNDANE = "Mundane", EVENT
|
||||
var/list/possible_events = list()
|
||||
for(var/datum/event_meta/EM in available_events)
|
||||
var/event_weight = get_weight(EM, active_with_role)
|
||||
if(event_weight)
|
||||
if(event_weight > 0)
|
||||
possible_events[EM] = event_weight
|
||||
|
||||
if(possible_events.len == 0)
|
||||
|
||||
@@ -49,10 +49,7 @@
|
||||
qdel(src)
|
||||
|
||||
/mob/living/simple_animal/hostile/mimic/MouseEntered(location, control, params)
|
||||
..()
|
||||
closeToolTip(usr)
|
||||
// ideally, we'd remove the code in ..() that opens the tooltip,
|
||||
// but then we'd need to duplicate all the other code in ..()
|
||||
return // Do not call parent: Mimics shouldn't have tooltips!
|
||||
|
||||
//
|
||||
// Crate Mimic
|
||||
|
||||
@@ -84,13 +84,16 @@ Nurse Family
|
||||
var/atom/cocoon_target
|
||||
var/egg_inject_chance = 5
|
||||
|
||||
// VOREStation Edit - Keep Nurse Hat Spiders
|
||||
/mob/living/simple_animal/hostile/giant_spider/nurse/medical
|
||||
/mob/living/simple_animal/hostile/giant_spider/nurse/hat
|
||||
desc = "Furry and beige, it makes you shudder to look at it. This one has brilliant green eyes and a tiny nurse hat."
|
||||
icon_state = "nursemed"
|
||||
icon_living = "nursemed"
|
||||
icon_dead = "nursemed_dead"
|
||||
|
||||
maxHealth = 50
|
||||
health = 50
|
||||
|
||||
// VOREStation Edit
|
||||
melee_damage_lower = 8
|
||||
melee_damage_upper = 16
|
||||
poison_type = "tramadol"
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
|
||||
/mob/new_player
|
||||
var/ready = 0
|
||||
var/spawning = 0//Referenced when you want to delete the new_player later on in the code.
|
||||
var/totalPlayers = 0 //Player counts for the Lobby tab
|
||||
var/spawning = 0 //Referenced when you want to delete the new_player later on in the code.
|
||||
var/totalPlayers = 0 //Player counts for the Lobby tab
|
||||
var/totalPlayersReady = 0
|
||||
var/show_hidden_jobs = 0 //Show jobs that are set to "Never" in preferences
|
||||
var/datum/browser/panel
|
||||
universal_speak = 1
|
||||
|
||||
@@ -115,7 +116,7 @@
|
||||
|
||||
if(alert(src,"Are you sure you wish to observe? You will have to wait 1 minute before being able to respawn!","Player Setup","Yes","No") == "Yes")
|
||||
if(!client) return 1
|
||||
|
||||
|
||||
//Make a new mannequin quickly, and allow the observer to take the appearance
|
||||
var/mob/living/carbon/human/dummy/mannequin = new()
|
||||
client.prefs.dress_preview_mob(mannequin)
|
||||
@@ -291,6 +292,10 @@
|
||||
handle_server_news()
|
||||
return
|
||||
|
||||
if(href_list["hidden_jobs"])
|
||||
show_hidden_jobs = !show_hidden_jobs
|
||||
LateChoices()
|
||||
|
||||
/mob/new_player/proc/handle_server_news()
|
||||
if(!client)
|
||||
return
|
||||
@@ -421,10 +426,18 @@
|
||||
dat += "<font color='red'>The station is currently undergoing crew transfer procedures.</font><br>"
|
||||
|
||||
dat += "Choose from the following open/valid positions:<br>"
|
||||
dat += "<a href='byond://?src=\ref[src];hidden_jobs=1'>[show_hidden_jobs ? "Hide":"Show"] Hidden Jobs.</a><br>"
|
||||
for(var/datum/job/job in job_master.occupations)
|
||||
if(job && IsJobAvailable(job.title))
|
||||
// Checks for jobs with minimum age requirements
|
||||
if(job.minimum_character_age && (client.prefs.age < job.minimum_character_age))
|
||||
continue
|
||||
// Checks for jobs set to "Never" in preferences //TODO: Figure out a better way to check for this
|
||||
if(!(client.prefs.GetJobDepartment(job, 1) & job.flag))
|
||||
if(!(client.prefs.GetJobDepartment(job, 2) & job.flag))
|
||||
if(!(client.prefs.GetJobDepartment(job, 3) & job.flag))
|
||||
if(!show_hidden_jobs && job.title != "Assistant") // Assistant is always an option
|
||||
continue
|
||||
var/active = 0
|
||||
// Only players with the job assigned and AFK for less than 10 minutes count as active
|
||||
for(var/mob/M in player_list) if(M.mind && M.client && M.mind.assigned_role == job.title && M.client.inactivity <= 10 * 60 * 10)
|
||||
|
||||
@@ -8,6 +8,9 @@
|
||||
var/list/roundstart_weather_chances = list()
|
||||
var/next_weather_shift = null
|
||||
|
||||
// Holds the weather icon, using vis_contents. Documentation says an /atom/movable is required for placing inside another atom's vis_contents.
|
||||
var/atom/movable/weather_visuals/visuals = null
|
||||
|
||||
/datum/weather_holder/New(var/source)
|
||||
..()
|
||||
our_planet = source
|
||||
@@ -15,6 +18,7 @@
|
||||
var/datum/weather/W = allowed_weather_types[A]
|
||||
if(istype(W))
|
||||
W.holder = src
|
||||
visuals = new()
|
||||
|
||||
/datum/weather_holder/proc/change_weather(var/new_weather)
|
||||
var/old_light_modifier = null
|
||||
@@ -41,7 +45,7 @@
|
||||
current_weather.process_effects()
|
||||
|
||||
/datum/weather_holder/proc/update_icon_effects()
|
||||
our_planet.needs_work |= PLANET_PROCESS_WEATHER
|
||||
visuals.icon_state = current_weather.icon_state
|
||||
|
||||
/datum/weather_holder/proc/update_temperature()
|
||||
temperature = Interpolate(current_weather.temp_low, current_weather.temp_high, weight = our_planet.sun_position)
|
||||
@@ -65,3 +69,9 @@
|
||||
|
||||
/datum/weather/proc/process_effects()
|
||||
return
|
||||
|
||||
// All this does is hold the weather icon.
|
||||
/atom/movable/weather_visuals
|
||||
icon = 'icons/effects/weather.dmi'
|
||||
mouse_opacity = 0
|
||||
plane = PLANE_PLANETLIGHTING
|
||||
|
||||
@@ -161,7 +161,7 @@
|
||||
layer = ABOVE_MOB_LAYER
|
||||
use_power = 2
|
||||
idle_power_usage = 2
|
||||
active_power_usage = 20
|
||||
active_power_usage = 10 // Previously 20.
|
||||
power_channel = LIGHT //Lights are calc'd via area so they dont need to be in the machine list
|
||||
var/on = 0 // 1 if on, 0 if off
|
||||
var/brightness_range = 10 // luminosity when on, also used in power calculation // VOREStation Edit - Put light range back how it was for now.
|
||||
|
||||
@@ -472,7 +472,7 @@
|
||||
|
||||
/obj/item/ammo_magazine/m44
|
||||
name = "magazine (.44)"
|
||||
icon_state = "44"
|
||||
icon_state = "m44"
|
||||
origin_tech = list(TECH_COMBAT = 2)
|
||||
mag_type = MAGAZINE
|
||||
caliber = ".44"
|
||||
|
||||
@@ -41,6 +41,9 @@
|
||||
|
||||
update_icon()
|
||||
|
||||
/obj/item/weapon/gun/projectile/shotgun/pump/slug
|
||||
ammo_type = /obj/item/ammo_casing/a12g
|
||||
|
||||
/obj/item/weapon/gun/projectile/shotgun/pump/combat
|
||||
name = "combat shotgun"
|
||||
desc = "Built for close quarters combat, the Hephaestus Industries KS-40 is widely regarded as a weapon of choice for repelling boarders. Uses 12g rounds."
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
icon = 'icons/obj/machines/shielding.dmi'
|
||||
icon_state = "fdiffuser_on"
|
||||
use_power = 2
|
||||
idle_power_usage = 100
|
||||
active_power_usage = 2000
|
||||
idle_power_usage = 25 // Previously 100.
|
||||
active_power_usage = 500 // Previously 2000
|
||||
anchored = 1
|
||||
density = 0
|
||||
level = 1
|
||||
|
||||
@@ -19,6 +19,20 @@
|
||||
else
|
||||
set_light(3, 3, "#33CC33")
|
||||
|
||||
/obj/machinery/crystal/alt
|
||||
name = "Crystal"
|
||||
icon = 'icons/obj/mining.dmi'
|
||||
icon_state = "crystal"
|
||||
density = TRUE
|
||||
anchored = TRUE
|
||||
|
||||
/obj/machinery/crystal/alt/New()
|
||||
if(prob(50))
|
||||
icon_state = "crystal2"
|
||||
set_light(3, 3, "#CC00CC")
|
||||
else
|
||||
set_light(3, 3, "#33CC33")
|
||||
|
||||
/obj/machinery/crystal/ice //slightly more thematic crystals
|
||||
name = "ice crystal"
|
||||
desc = "A large crystalline ice formation."
|
||||
|
||||
@@ -53,6 +53,31 @@
|
||||
|
||||
-->
|
||||
<div class="commit sansserif">
|
||||
<h2 class="date">28 April 2018</h2>
|
||||
<h3 class="author">Anewbe updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="tweak">Communicator visibility (the thing that lets people see your communicator when you're a ghost) is now saved to character slots, rather than globally.</li>
|
||||
<li class="tweak">Jobs that are set to Never on your preferences are hidden by default on the Late Join selection menu. There is a button to reveal them.</li>
|
||||
</ul>
|
||||
<h3 class="author">Arokha updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">Nerve reattaching surgery now works correctly. (Hemostat on limb)</li>
|
||||
<li class="bugfix">Limbs dropped by people have appropriate flags.</li>
|
||||
</ul>
|
||||
<h3 class="author">Atermonera updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="tweak">Human examine code has received a major refactor. If you encounter unusual behaviour that seems wrong, please report it.</li>
|
||||
</ul>
|
||||
<h3 class="author">Cerebulon updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">Pumpkins are no longer green ovals. They now grow on actual vines.</li>
|
||||
</ul>
|
||||
<h3 class="author">schnayy updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">Space carp plushies now load sprites and are all selectable from loadout.</li>
|
||||
<li class="tweak">Adds several newer plushies to the gift vendor as well as adjusting cost of gift vendor's contents.</li>
|
||||
</ul>
|
||||
|
||||
<h2 class="date">19 April 2018</h2>
|
||||
<h3 class="author">Anewbe updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
################################
|
||||
# Example Changelog File
|
||||
#
|
||||
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
|
||||
#
|
||||
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
|
||||
# When it is, any changes listed below will disappear.
|
||||
#
|
||||
# Valid Prefixes:
|
||||
# bugfix
|
||||
# wip (For works in progress)
|
||||
# tweak
|
||||
# soundadd
|
||||
# sounddel
|
||||
# rscadd (general adding of nice things)
|
||||
# rscdel (general deleting of nice things)
|
||||
# imageadd
|
||||
# imagedel
|
||||
# maptweak
|
||||
# spellcheck (typo fixes)
|
||||
# experiment
|
||||
#################################
|
||||
|
||||
# Your name.
|
||||
author: Anewbe
|
||||
|
||||
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
|
||||
delete-after: True
|
||||
|
||||
# Any changes you've made. See valid prefix list above.
|
||||
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
|
||||
# SCREW THIS UP AND IT WON'T WORK.
|
||||
# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
|
||||
# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
|
||||
changes:
|
||||
- tweak: "Communicator visibility (the thing that lets people see your communicator when you're a ghost) is now saved to character slots, rather than globally."
|
||||
@@ -1,8 +0,0 @@
|
||||
|
||||
author: Cerebulon
|
||||
|
||||
|
||||
delete-after: True
|
||||
|
||||
changes:
|
||||
- bugfix: "Pumpkins no longer green ovals. Now grow on actual vines."
|
||||
@@ -0,0 +1,4 @@
|
||||
author: PrismaticGynoid
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "Adds new skrell sprites to hardsuit helmets that were missing them."
|
||||
@@ -1,37 +0,0 @@
|
||||
################################
|
||||
# Example Changelog File
|
||||
#
|
||||
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
|
||||
#
|
||||
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
|
||||
# When it is, any changes listed below will disappear.
|
||||
#
|
||||
# Valid Prefixes:
|
||||
# bugfix
|
||||
# wip (For works in progress)
|
||||
# tweak
|
||||
# soundadd
|
||||
# sounddel
|
||||
# rscadd (general adding of nice things)
|
||||
# rscdel (general deleting of nice things)
|
||||
# imageadd
|
||||
# imagedel
|
||||
# maptweak
|
||||
# spellcheck (typo fixes)
|
||||
# experiment
|
||||
#################################
|
||||
|
||||
# Your name.
|
||||
author: Arokha
|
||||
|
||||
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
|
||||
delete-after: True
|
||||
|
||||
# Any changes you've made. See valid prefix list above.
|
||||
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
|
||||
# SCREW THIS UP AND IT WON'T WORK.
|
||||
# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
|
||||
# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
|
||||
changes:
|
||||
- bugfix: "Nerve reattaching surgery now works correctly. (Hemostat on limb)"
|
||||
- bugfix: "Limbs dropped by people don't have appropriate flags."
|
||||
@@ -1,4 +0,0 @@
|
||||
author: Atermonera
|
||||
delete-after: True
|
||||
changes:
|
||||
- tweak: "Human examine code has received a major refactor. If you encounter unusual behaviour that seems wrong, please report it."
|
||||
@@ -1,9 +0,0 @@
|
||||
# Your name.
|
||||
author: schnayy
|
||||
|
||||
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
|
||||
delete-after: True
|
||||
|
||||
# Any changes you've made. See valid prefix list above.
|
||||
- bugfix: "Space carp plushies now load sprites and are all selectable from loadout."
|
||||
- tweak: "Adds several newer plushies to the gift vendor as well as adjusting cost of gift vendor's contents."
|
||||
|
Before Width: | Height: | Size: 392 KiB After Width: | Height: | Size: 392 KiB |
|
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 71 KiB |
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 52 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |