mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-24 04:27:35 +01:00
Merge pull request #2242 from caelaislinn/bleeding-edge-freeze
Merge from Master, some tweaks and fixes
This commit is contained in:
@@ -5,50 +5,6 @@
|
||||
// END_INTERNALS
|
||||
// BEGIN_FILE_DIR
|
||||
#define FILE_DIR .
|
||||
#define FILE_DIR "code"
|
||||
#define FILE_DIR "code/TriDimension"
|
||||
#define FILE_DIR "code/WorkInProgress"
|
||||
#define FILE_DIR "code/WorkInProgress/Cael_Aislinn"
|
||||
#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Jungle"
|
||||
#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Rust"
|
||||
#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Supermatter"
|
||||
#define FILE_DIR "code/WorkInProgress/Susan"
|
||||
#define FILE_DIR "html"
|
||||
#define FILE_DIR "icons"
|
||||
#define FILE_DIR "icons/48x48"
|
||||
#define FILE_DIR "icons/effects"
|
||||
#define FILE_DIR "icons/mecha"
|
||||
#define FILE_DIR "icons/misc"
|
||||
#define FILE_DIR "icons/mob"
|
||||
#define FILE_DIR "icons/mob/human_races"
|
||||
#define FILE_DIR "icons/obj"
|
||||
#define FILE_DIR "icons/obj/assemblies"
|
||||
#define FILE_DIR "icons/obj/atmospherics"
|
||||
#define FILE_DIR "icons/obj/clothing"
|
||||
#define FILE_DIR "icons/obj/doors"
|
||||
#define FILE_DIR "icons/obj/flora"
|
||||
#define FILE_DIR "icons/obj/machines"
|
||||
#define FILE_DIR "icons/obj/pipes"
|
||||
#define FILE_DIR "icons/pda_icons"
|
||||
#define FILE_DIR "icons/spideros_icons"
|
||||
#define FILE_DIR "icons/Testing"
|
||||
#define FILE_DIR "icons/turf"
|
||||
#define FILE_DIR "icons/vending_icons"
|
||||
#define FILE_DIR "sound"
|
||||
#define FILE_DIR "sound/AI"
|
||||
#define FILE_DIR "sound/ambience"
|
||||
#define FILE_DIR "sound/effects"
|
||||
#define FILE_DIR "sound/effects/wind"
|
||||
#define FILE_DIR "sound/hallucinations"
|
||||
#define FILE_DIR "sound/items"
|
||||
#define FILE_DIR "sound/machines"
|
||||
#define FILE_DIR "sound/mecha"
|
||||
#define FILE_DIR "sound/misc"
|
||||
#define FILE_DIR "sound/music"
|
||||
#define FILE_DIR "sound/piano"
|
||||
#define FILE_DIR "sound/violin"
|
||||
#define FILE_DIR "sound/voice"
|
||||
#define FILE_DIR "sound/weapons"
|
||||
// END_FILE_DIR
|
||||
|
||||
// BEGIN_PREFERENCES
|
||||
|
||||
@@ -157,6 +157,9 @@ var/global/next_account_number = 0
|
||||
for(var/datum/money_account/M in src.accounts)
|
||||
if(!A.accounts.Find(M))
|
||||
A.accounts.Add(M)
|
||||
for(var/datum/money_account/M in A.accounts)
|
||||
if(!src.accounts.Find(M))
|
||||
src.accounts.Add(M)
|
||||
usr << "\icon[src] <span class='info'>Accounts synched across all databases in range.</span>"
|
||||
|
||||
if("create_account")
|
||||
|
||||
@@ -91,7 +91,8 @@ log transactions
|
||||
user << "<span class='info'>You insert [I] into [src].</span>"
|
||||
src.attack_hand(user)
|
||||
del I
|
||||
else ..()
|
||||
else
|
||||
..()
|
||||
|
||||
/obj/machinery/atm/attack_hand(mob/user as mob)
|
||||
if(istype(user, /mob/living/silicon))
|
||||
@@ -324,6 +325,8 @@ log transactions
|
||||
held_card = I
|
||||
if("logout")
|
||||
authenticated_account = null
|
||||
usr << browse(null,"window=atm")
|
||||
return
|
||||
src.attack_hand(usr)
|
||||
|
||||
//create the most effective combination of notes to make up the requested amount
|
||||
|
||||
+7
-7
@@ -41,9 +41,9 @@ turf/simulated/hotspot_expose(exposed_temperature, exposed_volume, soh)
|
||||
return 1
|
||||
var/datum/gas/volatile_fuel/fuel = locate() in air_contents.trace_gases
|
||||
var/obj/effect/decal/cleanable/liquid_fuel/liquid = locate() in src
|
||||
if(air_contents.calculate_firelevel(liquid) > vsc.IgnitionLevel && (fuel || liquid || air_contents.toxins > 0.5))
|
||||
if(air_contents.calculate_firelevel(liquid) > vsc.IgnitionLevel && (fuel || liquid || air_contents.toxins > 0.1))
|
||||
igniting = 1
|
||||
if(air_contents.oxygen < 0.5)
|
||||
if(air_contents.oxygen < 0.1)
|
||||
return 0
|
||||
|
||||
if(! (locate(/obj/fire) in src))
|
||||
@@ -97,7 +97,7 @@ obj
|
||||
firelevel = air_contents.calculate_firelevel(liquid)
|
||||
|
||||
//Ensure that there is an appropriate amount of fuel and O2 here.
|
||||
if(firelevel > 0.25 && flow.oxygen > 0.3 && (air_contents.toxins || fuel || liquid))
|
||||
if(firelevel > 0.25 && flow.oxygen > 0.1 && (air_contents.toxins || fuel || liquid))
|
||||
|
||||
for(var/direction in cardinal)
|
||||
if(S.air_check_directions&direction) //Grab all valid bordering tiles
|
||||
@@ -119,7 +119,7 @@ obj
|
||||
if(flow)
|
||||
|
||||
//Ensure adequate oxygen and fuel.
|
||||
if(flow.oxygen > 0.3 && (flow.toxins || fuel || liquid))
|
||||
if(flow.oxygen > 0.1 && (flow.toxins || fuel || liquid))
|
||||
|
||||
//Change icon depending on the fuel, and thus temperature.
|
||||
if(firelevel > 6)
|
||||
@@ -130,7 +130,7 @@ obj
|
||||
icon_state = "1"
|
||||
|
||||
//Ensure flow temperature is higher than minimum fire temperatures.
|
||||
flow.temperature = max(PLASMA_MINIMUM_BURN_TEMPERATURE+0.1,flow.temperature)
|
||||
flow.temperature = max(PLASMA_MINIMUM_BURN_TEMPERATURE+0.2,flow.temperature)
|
||||
|
||||
//Burn the gas mixture.
|
||||
if(!flow.zburn(liquid))
|
||||
@@ -205,11 +205,11 @@ datum/gas_mixture/proc/zburn(obj/effect/decal/cleanable/liquid_fuel/liquid)
|
||||
fuel_sources++
|
||||
|
||||
//Toxins
|
||||
if(toxins > 0.3) fuel_sources++
|
||||
if(toxins > 0.1) fuel_sources++
|
||||
|
||||
if(!fuel_sources) return 0 //If there's no fuel, there's no burn. Can't divide by zero anyway.
|
||||
|
||||
if(oxygen > 0.3)
|
||||
if(oxygen > 0.1)
|
||||
|
||||
//Calculate the firelevel.
|
||||
var/firelevel = calculate_firelevel(liquid)
|
||||
|
||||
@@ -481,11 +481,11 @@ proc/play_wind_sound(var/turf/random_border, var/n)
|
||||
if(random_border)
|
||||
var/windsound = 'sound/effects/wind/wind_2_1.ogg'
|
||||
switch(n)
|
||||
if(0 to 30)
|
||||
windsound = pick('sound/effects/wind/wind_2_1.ogg', 'sound/effects/wind/wind_2_2.ogg')
|
||||
if(31 to 40)
|
||||
windsound = pick('sound/effects/wind/wind_2_1.ogg', 'sound/effects/wind/wind_2_2.ogg')
|
||||
if(41 to 50)
|
||||
windsound = pick('sound/effects/wind/wind_3_1.ogg')
|
||||
if(41 to 60)
|
||||
if(51 to 60)
|
||||
windsound = pick('sound/effects/wind/wind_4_1.ogg', 'sound/effects/wind/wind_4_2.ogg')
|
||||
if(61 to 1000000)
|
||||
windsound = pick('sound/effects/wind/wind_5_1.ogg')
|
||||
|
||||
@@ -116,12 +116,12 @@ datum/controller/game_controller/proc/process()
|
||||
vote.process()
|
||||
|
||||
//AIR
|
||||
|
||||
if(!air_processing_killed)
|
||||
timer = world.timeofday
|
||||
last_thing_processed = air_master.type
|
||||
air_master.tick()
|
||||
air_cost = (world.timeofday - timer) / 10
|
||||
// this might make atmos slower
|
||||
air_cost = (world.timeofday - timer) / 10 // this might make atmos slower
|
||||
// 1. atmos won't process if the game is generally lagged out(no deadlocks)
|
||||
// 2. if the server frequently crashes during atmos processing we will knowif(!kill_air)
|
||||
//src.set_debug_state("Air Master")
|
||||
@@ -135,9 +135,7 @@ datum/controller/game_controller/proc/process()
|
||||
world << "<font color='red'><b>RUNTIMES IN ATMOS TICKER. Killing air simulation!</font></b>"
|
||||
kill_air = 1
|
||||
air_master.failed_ticks = 0
|
||||
/*else if (air_master.failed_ticks > 10)
|
||||
air_master.failed_ticks = 0*/
|
||||
//air_master_ready = 1
|
||||
air_cost = (world.timeofday - timer) / 10
|
||||
|
||||
sleep(breather_ticks)
|
||||
|
||||
|
||||
+31
-2
@@ -225,21 +225,35 @@
|
||||
if (istype(W,/turf/simulated/floor))
|
||||
W.RemoveLattice()
|
||||
|
||||
//if the old turf had a zone, connect the new turf to it as well - Cael
|
||||
if(src.zone)
|
||||
src.zone.RemoveTurf(src)
|
||||
W.zone = src.zone
|
||||
W.zone.AddTurf(W)
|
||||
|
||||
W.levelupdate()
|
||||
return W
|
||||
else
|
||||
|
||||
/*if(istype(src, /turf/simulated) && src.zone)
|
||||
src.zone.rebuild = 1*/
|
||||
|
||||
var/turf/W = new N( locate(src.x, src.y, src.z) )
|
||||
W.lighting_lumcount += old_lumcount
|
||||
if(old_lumcount != W.lighting_lumcount)
|
||||
W.lighting_changed = 1
|
||||
lighting_controller.changed_turfs += W
|
||||
|
||||
if(src.zone)
|
||||
src.zone.RemoveTurf(src)
|
||||
W.zone = src.zone
|
||||
W.zone.AddTurf(W)
|
||||
|
||||
W.levelupdate()
|
||||
return W
|
||||
|
||||
//////Assimilate Air//////
|
||||
/turf/simulated/proc/Assimilate_Air()
|
||||
/*
|
||||
var/aoxy = 0//Holders to assimilate air from nearby turfs
|
||||
var/anitro = 0
|
||||
var/aco = 0
|
||||
@@ -266,7 +280,22 @@
|
||||
air.carbon_dioxide = (aco/max(turf_count,1))
|
||||
air.toxins = (atox/max(turf_count,1))
|
||||
air.temperature = (atemp/max(turf_count,1))//Trace gases can get bant
|
||||
*/
|
||||
air.update_values()
|
||||
|
||||
//cael - duplicate the averaged values across adjacent turfs to enforce a seamless atmos change
|
||||
for(var/direction in cardinal)//Only use cardinals to cut down on lag
|
||||
var/turf/T = get_step(src,direction)
|
||||
if(istype(T,/turf/space))//Counted as no air
|
||||
continue
|
||||
else if(istype(T,/turf/simulated/floor))
|
||||
var/turf/simulated/S = T
|
||||
if(S.air)//Add the air's contents to the holders
|
||||
S.air.oxygen = air.oxygen
|
||||
S.air.nitrogen = air.nitrogen
|
||||
S.air.carbon_dioxide = air.carbon_dioxide
|
||||
S.air.toxins = air.toxins
|
||||
S.air.temperature = air.temperature
|
||||
S.air.update_values()
|
||||
|
||||
/turf/proc/ReplaceWithLattice()
|
||||
src.ChangeTurf(/turf/space)
|
||||
|
||||
@@ -319,9 +319,8 @@
|
||||
if(job && IsJobAvailable(job.title))
|
||||
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.mind.assigned_job == job && M.client && M.client.inactivity <= 10 * 60 * 10)
|
||||
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)
|
||||
active++
|
||||
dat += "<a href='byond://?src=\ref[src];SelectedJob=[job.title]'>[job.title] ([job.current_positions]) (Active: [active])</a><br>"
|
||||
|
||||
dat += "</center>"
|
||||
|
||||
@@ -420,7 +420,7 @@
|
||||
|
||||
taj_ears
|
||||
name = "Tajaran Ears"
|
||||
icon_state = "tajears"
|
||||
icon_state = "ears_plain"
|
||||
species_allowed = list("Tajaran")
|
||||
|
||||
taj_ears_clean
|
||||
@@ -460,7 +460,7 @@
|
||||
|
||||
taj_ears_spiky
|
||||
name = "Spiky"
|
||||
icon_state = "hair_spiky"
|
||||
icon_state = "hair_tajspiky"
|
||||
species_allowed = list("Tajaran")
|
||||
|
||||
taj_ears_messy
|
||||
@@ -499,7 +499,6 @@
|
||||
name = "Smallsatche"
|
||||
icon_state = "facial_smallstache"
|
||||
species_allowed = list("Tajaran")
|
||||
|
||||
//skin styles - WIP
|
||||
//going to have to re-integrate this with surgery
|
||||
//let the icon_state hold an icon preview for now
|
||||
|
||||
@@ -1741,8 +1741,8 @@ datum
|
||||
M.sleeping += 1
|
||||
if(51 to INFINITY)
|
||||
M.sleeping += 1
|
||||
M.adjustToxLoss((data - 50)*REM)
|
||||
..()
|
||||
|
||||
return
|
||||
|
||||
beer2 //copypasta of chloral hydrate, disguised as normal beer for use by emagged brobots
|
||||
@@ -1765,6 +1765,8 @@ datum
|
||||
M.sleeping += 1
|
||||
M.adjustToxLoss(data - 50)
|
||||
data++
|
||||
// Sleep toxins should always be consumed pretty fast
|
||||
holder.remove_reagent(src.id, 0.4)
|
||||
..()
|
||||
return
|
||||
|
||||
@@ -1859,6 +1861,7 @@ datum
|
||||
M.bodytemperature += 15 * TEMPERATURE_DAMAGE_COEFFICIENT
|
||||
if(istype(M, /mob/living/carbon/slime))
|
||||
M.bodytemperature += rand(15,20)
|
||||
holder.remove_reagent(src.id, FOOD_METABOLISM)
|
||||
data++
|
||||
..()
|
||||
return
|
||||
@@ -1902,21 +1905,21 @@ datum
|
||||
return
|
||||
else if ( mouth_covered ) // Reduced effects if partially protected
|
||||
victim << "\red Your [safe_thing] protect you from most of the pepperspray!"
|
||||
victim.eye_blurry = max(M.eye_blurry, 3)
|
||||
victim.eye_blind = max(M.eye_blind, 1)
|
||||
victim.eye_blurry = max(M.eye_blurry, 15)
|
||||
victim.eye_blind = max(M.eye_blind, 5)
|
||||
victim.Paralyse(1)
|
||||
victim.drop_item()
|
||||
return
|
||||
else if ( eyes_covered ) // Eye cover is better than mouth cover
|
||||
victim << "\red Your [safe_thing] protects your eyes from the pepperspray!"
|
||||
victim.emote("scream")
|
||||
victim.eye_blurry = max(M.eye_blurry, 1)
|
||||
victim.eye_blurry = max(M.eye_blurry, 5)
|
||||
return
|
||||
else // Oh dear :D
|
||||
victim.emote("scream")
|
||||
victim << "\red You're sprayed directly in the eyes with pepperspray!"
|
||||
victim.eye_blurry = max(M.eye_blurry, 5)
|
||||
victim.eye_blind = max(M.eye_blind, 2)
|
||||
victim.eye_blurry = max(M.eye_blurry, 25)
|
||||
victim.eye_blind = max(M.eye_blind, 10)
|
||||
victim.Paralyse(1)
|
||||
victim.drop_item()
|
||||
|
||||
@@ -1947,6 +1950,7 @@ datum
|
||||
if(istype(M, /mob/living/carbon/slime))
|
||||
M.bodytemperature -= rand(15,20)
|
||||
data++
|
||||
holder.remove_reagent(src.id, FOOD_METABOLISM)
|
||||
..()
|
||||
return
|
||||
|
||||
@@ -2375,7 +2379,6 @@ datum
|
||||
holder.remove_reagent("frostoil", 10*REAGENTS_METABOLISM)
|
||||
|
||||
holder.remove_reagent(src.id, 0.1)
|
||||
|
||||
icecoffee
|
||||
name = "Iced Coffee"
|
||||
id = "icecoffee"
|
||||
|
||||
@@ -478,7 +478,6 @@ datum
|
||||
var/location = get_turf(holder.my_atom)
|
||||
new /obj/item/stack/sheet/mineral/plasma(location)
|
||||
return
|
||||
|
||||
virus_food
|
||||
name = "Virus Food"
|
||||
id = "virusfood"
|
||||
@@ -524,8 +523,13 @@ datum
|
||||
if(D)
|
||||
D.Devolve()
|
||||
|
||||
|
||||
|
||||
condensedcapsaicin
|
||||
name = "Condensed Capsaicin"
|
||||
id = "condensedcapsaicin"
|
||||
result = "condensedcapsaicin"
|
||||
required_reagents = list("capsaicin" = 2)
|
||||
required_catalysts = list("plasma" = 5)
|
||||
result_amount = 1
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// foam and foam precursor
|
||||
|
||||
+5
-1
@@ -70,7 +70,11 @@
|
||||
#define DOOR_CRUSH_DAMAGE 10
|
||||
|
||||
// Factor of how fast mob nutrition decreases
|
||||
#define HUNGER_FACTOR 0.1
|
||||
#define HUNGER_FACTOR 0.05
|
||||
#define REAGENTS_METABOLISM 0.04
|
||||
// By defining the effect multiplier this way, it'll exactly adjust
|
||||
// all effects according to how they originally were with the 0.4 metabolism
|
||||
#define REAGENTS_EFFECT_MULTIPLIER REAGENTS_METABOLISM / 0.4
|
||||
|
||||
// How many units of reagent are consumed per tick, by default.
|
||||
#define REAGENTS_METABOLISM 0.4
|
||||
|
||||
+12
-2
@@ -68,6 +68,17 @@ should be listed in the changelog upon commit though. Thanks. -->
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="commit sansserif">
|
||||
|
||||
|
||||
<h2 class="date">1/31/2013</h2>
|
||||
<h3 class="author">CIB updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="bugfix">Chilis and cold chilis no longer kill in small amounts</li>
|
||||
<li class="bugfix">Chloral now again needs around 5 units to start killing somebody</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="commit sansserif">
|
||||
<h2 class="date">January 21st</h2>
|
||||
<h3 class="author">Cael_Aislinn updated:</h3>
|
||||
@@ -91,8 +102,7 @@ should be listed in the changelog upon commit though. Thanks. -->
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="commit sansserif">
|
||||
<h2 class="date">1/13/2013</h2>
|
||||
<div class="commit sansserif"> <h2 class="date">1/13/2013</h2>
|
||||
<h3 class="author">GauHelldragon updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="rscadd">Servicebots now have RoboTray and Printing Pen. Robotray can be used to pick up and drop food/drinks. Printing pen can alternate between writing mode and rename paper mode by clicking it.</li>
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
Reference in New Issue
Block a user