Merge pull request #2242 from caelaislinn/bleeding-edge-freeze

Merge from Master, some tweaks and fixes
This commit is contained in:
Chinsky
2013-02-02 07:56:04 -08:00
14 changed files with 89 additions and 81 deletions
-44
View File
@@ -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")
+4 -1
View File
@@ -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
View File
@@ -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)
+3 -3
View File
@@ -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')
+3 -5
View File
@@ -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
View File
@@ -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)
+2 -3
View File
@@ -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
+10 -7
View File
@@ -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"
+7 -3
View File
@@ -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
View File
@@ -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
View File
@@ -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