diff --git a/baystation12.dme b/baystation12.dme index 90bce9b897d..d0c7c3b7dc7 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -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 diff --git a/code/WorkInProgress/Cael_Aislinn/Economy/Accounts.dm b/code/WorkInProgress/Cael_Aislinn/Economy/Accounts.dm index a69f364e0ff..5d0159b3949 100644 --- a/code/WorkInProgress/Cael_Aislinn/Economy/Accounts.dm +++ b/code/WorkInProgress/Cael_Aislinn/Economy/Accounts.dm @@ -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] Accounts synched across all databases in range." if("create_account") diff --git a/code/WorkInProgress/Mini/ATM.dm b/code/WorkInProgress/Mini/ATM.dm index 7551e96e9c5..68a6c39942e 100644 --- a/code/WorkInProgress/Mini/ATM.dm +++ b/code/WorkInProgress/Mini/ATM.dm @@ -91,7 +91,8 @@ log transactions user << "You insert [I] into [src]." 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 diff --git a/code/ZAS/Fire.dm b/code/ZAS/Fire.dm index 3818fb070af..bdd9859ccd8 100644 --- a/code/ZAS/Fire.dm +++ b/code/ZAS/Fire.dm @@ -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) diff --git a/code/ZAS/ZAS_Zones.dm b/code/ZAS/ZAS_Zones.dm index b219a10b132..c463b1550cf 100644 --- a/code/ZAS/ZAS_Zones.dm +++ b/code/ZAS/ZAS_Zones.dm @@ -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') diff --git a/code/controllers/master_controller.dm b/code/controllers/master_controller.dm index 70409123457..ef6d605d1db 100644 --- a/code/controllers/master_controller.dm +++ b/code/controllers/master_controller.dm @@ -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 << "RUNTIMES IN ATMOS TICKER. Killing air simulation!" 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) diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 265c66551e7..412a4065fae 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -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) diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index d029320a67b..a967ed8b59a 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -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 += "[job.title] ([job.current_positions]) (Active: [active])
" dat += "" diff --git a/code/modules/mob/new_player/sprite_accessories.dm b/code/modules/mob/new_player/sprite_accessories.dm index f8130b3fde3..a4891b8c7cd 100644 --- a/code/modules/mob/new_player/sprite_accessories.dm +++ b/code/modules/mob/new_player/sprite_accessories.dm @@ -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 diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 79b9c1e1d49..d45c2ddb0b0 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -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" diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm index 10069dfb68c..dda76d623e0 100644 --- a/code/modules/reagents/Chemistry-Recipes.dm +++ b/code/modules/reagents/Chemistry-Recipes.dm @@ -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 diff --git a/code/setup.dm b/code/setup.dm index 896d6bf1c4e..f4f1262b49d 100644 --- a/code/setup.dm +++ b/code/setup.dm @@ -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 diff --git a/html/changelog.html b/html/changelog.html index 7ffa4bf5824..f27197babae 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -68,6 +68,17 @@ should be listed in the changelog upon commit though. Thanks. --> +
+ + +

1/31/2013

+

CIB updated:

+ +
+

January 21st

Cael_Aislinn updated:

@@ -91,8 +102,7 @@ should be listed in the changelog upon commit though. Thanks. -->
-
-

1/13/2013

+

1/13/2013

GauHelldragon updated: