Merge branch 'master' of github.com:Baystation12/Baystation12 into dev

Conflicts:
	html/changelog.html
This commit is contained in:
Ccomp5950
2014-04-04 01:14:31 -05:00
19 changed files with 527 additions and 346 deletions

View File

@@ -31,10 +31,12 @@ datum/controller/game_controller
var/last_thing_processed
var/mob/list/expensive_mobs = list()
var/rebuild_active_areas = 0
datum/controller/game_controller/New()
//There can be only one master_controller. Out with the old and in with the new.
if(master_controller != src)
log_debug("Rebuilding Master Controller")
if(istype(master_controller))
Recover()
del(master_controller)
@@ -259,27 +261,37 @@ datum/controller/game_controller/proc/process_machines()
last_thing_processed = Machine.type
if(Machine.process() != PROCESS_KILL)
if(Machine)
// if(Machine.use_power)
// Machine.auto_use_power()
i++
continue
machines.Cut(i,i+1)
i=1
while(i<=active_areas.len)
var/area/A = active_areas[i]
if(A.powerupdate)
if(A.powerupdate && A.master == A)
A.powerupdate -= 1
for(var/obj/machinery/M in A)
if(M)
if(M.use_power)
M.auto_use_power()
for(var/area/SubArea in A.related)
for(var/obj/machinery/M in SubArea)
if(M)
if(M.use_power)
M.auto_use_power()
if(A.apc.len)
if(A.apc.len && A.master == A)
i++
continue
A.powerupdate = 0
active_areas.Cut(i,i+1)
if(controller_iteration % 150 == 0 || rebuild_active_areas) //Every 300 seconds we retest every area/machine
for(var/area/A in all_areas)
if(A == A.master)
A.powerupdate += 1
active_areas |= A
rebuild_active_areas = 0
datum/controller/game_controller/proc/process_objects()

View File

@@ -52,6 +52,10 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee
/obj/item/weapon/reagent_containers/food/drinks/milk,
/obj/item/weapon/reagent_containers/food/drinks/milk,
/obj/item/weapon/storage/fancy/egg_box,
/obj/item/weapon/reagent_containers/food/snacks/tofu,
/obj/item/weapon/reagent_containers/food/snacks/tofu,
/obj/item/weapon/reagent_containers/food/snacks/meat,
/obj/item/weapon/reagent_containers/food/snacks/meat,
/obj/item/weapon/reagent_containers/food/snacks/grown/banana,
/obj/item/weapon/reagent_containers/food/snacks/grown/banana)
cost = 10
@@ -125,6 +129,7 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee
name = "Party equipment"
contains = list(/obj/item/weapon/storage/box/drinkingglasses,
/obj/item/weapon/reagent_containers/food/drinks/shaker,
/obj/item/weapon/reagent_containers/food/drinks/flask/barflask,
/obj/item/weapon/reagent_containers/food/drinks/bottle/patron,
/obj/item/weapon/reagent_containers/food/drinks/bottle/goldschlager,
/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,
@@ -298,9 +303,14 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee
/obj/item/seeds/cornseed,
/obj/item/seeds/eggplantseed,
/obj/item/seeds/tomatoseed,
/obj/item/seeds/appleseed,
/obj/item/seeds/soyaseed,
/obj/item/seeds/wheatseed,
/obj/item/seeds/carrotseed,
/obj/item/seeds/harebell,
/obj/item/seeds/lemonseed,
/obj/item/seeds/orangeseed,
/obj/item/seeds/grassseed,
/obj/item/seeds/sunflowerseed,
/obj/item/seeds/chantermycelium,
/obj/item/seeds/potatoseed,
@@ -334,6 +344,10 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee
/obj/item/seeds/amanitamycelium,
/obj/item/seeds/reishimycelium,
/obj/item/seeds/bananaseed,
/obj/item/seeds/riceseed,
/obj/item/seeds/eggplantseed,
/obj/item/seeds/limeseed,
/obj/item/seeds/grapeseed,
/obj/item/seeds/eggyseed)
cost = 15
containertype = /obj/structure/closet/crate/hydroponics
@@ -773,7 +787,7 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee
group = "Security"
/datum/supply_packs/randomised
var/num_contained = 3 //number of items picked to be contained in a randomised crate
var/num_contained = 4 //number of items picked to be contained in a randomised crate
contains = list(/obj/item/clothing/head/collectable/chef,
/obj/item/clothing/head/collectable/paper,
/obj/item/clothing/head/collectable/tophat,
@@ -905,22 +919,36 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee
/datum/supply_packs/randomised/costume
num_contained = 2
contains = list(/obj/item/clothing/suit/pirate,
/obj/item/clothing/suit/johnny_coat,
/obj/item/clothing/suit/judgerobe,
/obj/item/clothing/suit/wcoat,
/obj/item/clothing/suit/hastur,
/obj/item/clothing/suit/holidaypriest,
/obj/item/clothing/suit/nun,
/obj/item/clothing/suit/imperium_monk,
/obj/item/clothing/suit/ianshirt,
/obj/item/clothing/under/gimmick/rank/captain/suit,
/obj/item/clothing/under/gimmick/rank/head_of_personnel/suit,
/obj/item/clothing/under/lawyer/purpsuit,
/obj/item/clothing/under/rank/mailman,
/obj/item/clothing/under/dress/dress_saloon,
/obj/item/clothing/suit/suspenders,
/obj/item/clothing/suit/storage/labcoat/mad,
/obj/item/clothing/suit/bio_suit/plaguedoctorsuit)
name = "Standard Costume crate"
/obj/item/clothing/suit/bio_suit/plaguedoctorsuit,
/obj/item/clothing/under/schoolgirl,
/obj/item/clothing/under/owl,
/obj/item/clothing/under/waiter,
/obj/item/clothing/under/gladiator,
/obj/item/clothing/under/soviet,
/obj/item/clothing/under/scratch,
/obj/item/clothing/under/wedding/bride_white,
/obj/item/clothing/suit/chef,
/obj/item/clothing/suit/apron/overalls,
/obj/item/clothing/under/redcoat,
/obj/item/clothing/under/kilt)
name = "Costumes crate"
cost = 10
containertype = /obj/structure/closet/crate/secure
containername = "Standard Costumes"
containername = "Actor Costumes"
access = access_theatre
group = "Operations"
@@ -933,8 +961,11 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee
/obj/item/clothing/under/suit_jacket/female,
/obj/item/clothing/under/suit_jacket/really_black,
/obj/item/clothing/under/suit_jacket/red,
/obj/item/clothing/under/lawyer/bluesuit,
/obj/item/clothing/under/lawyer/purpsuit,
/obj/item/clothing/shoes/black,
/obj/item/clothing/shoes/black,
/obj/item/clothing/shoes/leather,
/obj/item/clothing/suit/wcoat)
name = "Formalwear closet"
cost = 30

View File

@@ -244,7 +244,6 @@
return used
/area/proc/clear_usage()
master.used_equip = 0
master.used_light = 0
master.used_environ = 0

View File

@@ -1,4 +1,3 @@
/obj/machinery/processor
name = "Food Processor"
icon = 'icons/obj/kitchen.dmi'
@@ -43,7 +42,7 @@
*/
potato
input = /obj/item/weapon/reagent_containers/food/snacks/grown/potato
output = /obj/item/weapon/reagent_containers/food/snacks/fries
output = /obj/item/weapon/reagent_containers/food/snacks/rawsticks
carrot
input = /obj/item/weapon/reagent_containers/food/snacks/grown/carrot
@@ -159,4 +158,3 @@
src.visible_message("\blue \the [src] finished processing.", \
"You hear the food processor stopping/")

View File

@@ -193,7 +193,7 @@ Class Procs:
src.add_fingerprint(usr)
var/area/A = get_area(src)
A.powerupdate = 1
A.master.powerupdate = 1
return 0
@@ -236,7 +236,7 @@ Class Procs:
src.add_fingerprint(user)
var/area/A = get_area(src)
A.powerupdate = 1
A.master.powerupdate = 1
return 0

View File

@@ -350,6 +350,8 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
freq_text = "Special Ops"
if(1345)
freq_text = "Response Team"
if(1447)
freq_text = "AI Private"
//There's probably a way to use the list var of channels in code\game\communications.dm to make the dept channels non-hardcoded, but I wasn't in an experimentive mood. --NEO
@@ -378,6 +380,10 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
else if (display_freq == COMM_FREQ)
part_a = "<span class='comradio'><span class='name'>"
// AI private channel
else if (display_freq == 1447)
part_a = "<span class='airadio'><span class='name'>"
// department radio formatting (poorly optimized, ugh)
else if (display_freq == SEC_FREQ)
part_a = "<span class='secradio'><span class='name'>"

View File

@@ -91,8 +91,8 @@
/datum/poster/bay_19
icon_state="bsposter19"
name = "Respect a Soghun"
desc = "This poster depicts a well dressed looking Soghun receiving a prestigious award. It appears to espouse greater co-operation and harmony between the two races."
name = "Respect a Unathi"
desc = "This poster depicts a well dressed looking Unathi receiving a prestigious award. It appears to espouse greater co-operation and harmony between the two races."
/datum/poster/bay_20
icon_state="bsposter20"
@@ -142,4 +142,4 @@
/datum/poster/bay_29
icon_state="bsposter29"
name = "Winter Is Coming"
desc = "On the poster is a frighteningly large wolf, he warns: \"Only YOU can keep the station from freezing during planetary occultation!\""
desc = "On the poster is a frighteningly large wolf, he warns: \"Only YOU can keep the station from freezing during planetary occultation!\""

View File

@@ -28,6 +28,13 @@
/obj/structure/extinguisher_cabinet/attack_hand(mob/user)
if(isrobot(user) || isalien(user))
return
if (hasorgans(user))
var/datum/organ/external/temp = user:organs_by_name["r_hand"]
if (user.hand)
temp = user:organs_by_name["l_hand"]
if(temp && !temp.is_usable())
user << "<span class='notice'>You try to move your [temp.display_name], but cannot!"
return
if(has_extinguisher)
user.put_in_hands(has_extinguisher)
user << "<span class='notice'>You take [has_extinguisher] from [src].</span>"
@@ -62,4 +69,4 @@
else
icon_state = "extinguisher_full"
else
icon_state = "extinguisher_empty"
icon_state = "extinguisher_empty"

View File

@@ -323,15 +323,23 @@
anchored = 1
var/busy = 0 //Something's being washed at the moment
/obj/structure/sink/attack_hand(mob/M as mob)
if(isrobot(M) || isAI(M))
/obj/structure/sink/attack_hand(mob/user as mob)
if (hasorgans(user))
var/datum/organ/external/temp = user:organs_by_name["r_hand"]
if (user.hand)
temp = user:organs_by_name["l_hand"]
if(temp && !temp.is_usable())
user << "<span class='notice'>You try to move your [temp.display_name], but cannot!"
return
if(isrobot(user) || isAI(user))
return
if(!Adjacent(M))
if(!Adjacent(user))
return
if(busy)
M << "\red Someone's already washing here."
user << "\red Someone's already washing here."
return
usr << "\blue You start washing your hands."
@@ -340,13 +348,14 @@
sleep(40)
busy = 0
if(!Adjacent(M)) return //Person has moved away from the sink
if(!Adjacent(user)) return //Person has moved away from the sink
M.clean_blood()
if(ishuman(M))
M:update_inv_gloves()
user.clean_blood()
if(ishuman(user))
user:update_inv_gloves()
for(var/mob/V in viewers(src, null))
V.show_message("\blue [M] washes their hands using \the [src].")
V.show_message("\blue [user] washes their hands using \the [src].")
/obj/structure/sink/attackby(obj/item/O as obj, mob/user as mob)
if(busy)
@@ -415,4 +424,4 @@
/obj/structure/sink/puddle/attackby(obj/item/O as obj, mob/user as mob)
icon_state = "puddle-splash"
..()
icon_state = "puddle"
icon_state = "puddle"

View File

@@ -115,8 +115,8 @@ var/list/reg_dna = list( )
var/mouse_respawn_time = 5 //Amount of time that must pass between a player dying as a mouse and repawning as a mouse. In minutes.
var/CELLRATE = 0.002 // multiplier for watts per tick <> cell storage (eg: .002 means if there is a load of 1000 watts, 20 units will be taken from a cell per second)
var/CHARGELEVEL = 0.0005 // Cap for how fast cells charge, as a percentage-per-tick (.001 means cellcharge is capped to 1% per second)
var/CELLRATE = 0.002 // multiplier for watts per tick <> cell storage (eg: 0.02 means if there is a load of 1000 watts, 20 units will be taken from a cell per second)
var/CHARGELEVEL = 0.0005 // Cap for how fast cells charge, as a percentage-per-tick (0.01 means cellcharge is capped to 1% per second)
var/shuttle_z = 2 //default
var/airtunnel_start = 68 // default

View File

@@ -26,6 +26,13 @@
/obj/item/weapon/paper_bin/attack_hand(mob/user as mob)
if (hasorgans(user))
var/datum/organ/external/temp = user:organs_by_name["r_hand"]
if (user.hand)
temp = user:organs_by_name["l_hand"]
if(temp && !temp.is_usable())
user << "<span class='notice'>You try to move your [temp.display_name], but cannot!"
return
if(amount >= 1)
amount--
if(amount==0)

View File

@@ -1164,6 +1164,7 @@
lastused_equip = area.usage(EQUIP)
lastused_environ = area.usage(ENVIRON)
if(area.powerupdate)
if(debug) log_debug("power update in [area.name] / [name]")
area.clear_usage()
lastused_total = lastused_light + lastused_equip + lastused_environ
@@ -1187,16 +1188,16 @@
if(terminal && terminal.powernet)
perapc = terminal.powernet.perapc
//if(debug)
//world << "Status: [main_status] - Excess: [excess] - Last Equip: [lastused_equip] - Last Light: [lastused_light]"
if(debug)
log_debug( "Status: [main_status] - Excess: [excess] - Last Equip: [lastused_equip] - Last Light: [lastused_light]")
if(cell && !shorted)
var/cell_charge = cell.charge
//var/cell_charge = cell.charge
var/cell_maxcharge = cell.maxcharge
// draw power from cell as before
var/cellused = min(cell_charge, CELLRATE * lastused_total) // clamp deduction to a max, amount left in cell
var/cellused = min(cell.charge, CELLRATE * lastused_total) // clamp deduction to a max, amount left in cell
cell.use(cellused)
if(excess > 0 || perapc > lastused_total) // if power excess, or enough anyway, recharge the cell
@@ -1207,10 +1208,9 @@
else // no excess, and not enough per-apc
if( (cell_charge/CELLRATE+perapc) >= lastused_total) // can we draw enough from cell+grid to cover last usage?
if( (cell.charge/CELLRATE+perapc) >= lastused_total) // can we draw enough from cell+grid to cover last usage?
cell_charge = min(cell_maxcharge, cell_charge + CELLRATE * perapc) //recharge with what we can
cell.charge = cell_charge
cell.give(CELLRATE * perapc) //recharge with what we can
add_load(perapc) // so draw what we can from the grid
charging = 0
@@ -1233,30 +1233,30 @@
longtermpower -= 2
if(cell_charge >= 1250 || longtermpower > 0) // Put most likely at the top so we don't check it last, effeciency 101
if(cell.charge >= 1250 || longtermpower > 0) // Put most likely at the top so we don't check it last, effeciency 101
if(autoflag != 3)
equipment = autoset(equipment, 1)
lighting = autoset(lighting, 1)
environ = autoset(environ, 1)
autoflag = 3
area.poweralert(1, src)
if(cell_charge >= 4000)
if(cell.charge >= 4000)
area.poweralert(1, src)
else if(cell_charge < 1250 && cell_charge > 750 && longtermpower < 0) // <30%, turn off equipment
else if(cell.charge < 1250 && cell.charge > 750 && longtermpower < 0) // <30%, turn off equipment
if(autoflag != 2)
equipment = autoset(equipment, 2)
lighting = autoset(lighting, 1)
environ = autoset(environ, 1)
area.poweralert(0, src)
autoflag = 2
else if(cell_charge < 750 && cell_charge > 10 && longtermpower < 0) // <15%, turn off lighting & equipment
else if(cell.charge < 750 && cell.charge > 10 && longtermpower < 0) // <15%, turn off lighting & equipment
if(autoflag != 1)
equipment = autoset(equipment, 2)
lighting = autoset(lighting, 2)
environ = autoset(environ, 1)
area.poweralert(0, src)
autoflag = 1
else if(cell_charge <= 0) // zero charge, turn all off
else if(cell.charge <= 0) // zero charge, turn all off
if(autoflag != 0)
equipment = autoset(equipment, 0)
lighting = autoset(lighting, 0)
@@ -1269,7 +1269,7 @@
if(chargemode && charging == 1 && operating)
if(excess > 0) // check to make sure we have enough to charge
// Max charge is perapc share, capped to cell capacity, or % per second constant (Whichever is smallest)
var/ch = min(perapc*CELLRATE, (cell_maxcharge - cell_charge), (cell_maxcharge*CHARGELEVEL))
var/ch = min(perapc*CELLRATE, (cell_maxcharge - cell.charge), (cell_maxcharge*CHARGELEVEL))
add_load(ch/CELLRATE) // Removes the power we're taking from the grid
cell.give(ch) // actually recharge the cell

View File

@@ -460,6 +460,7 @@ var/global/list/uneatable = list(
move_self = 1 //Do we move on our own?
grav_pull = 10 //How many tiles out do we pull?
consume_range = 3 //How many tiles out do we eat
var/last_boom = 0
/obj/machinery/singularity/narsie/large
name = "Nar-Sie"
@@ -490,9 +491,11 @@ var/global/list/uneatable = list(
return 0
if (istype(A,/mob/living))//Mobs get gibbed
A:gib()
else if(istype(A,/obj/))
A:ex_act(1.0)
if(A) del(A)
else if(istype(A,/obj))
var/obj/O = A
machines -= O
processing_objects -= O
O.loc = null
else if(isturf(A))
var/turf/T = A
if(T.intact)
@@ -502,6 +505,9 @@ var/global/list/uneatable = list(
if(O.invisibility == 101)
src.consume(O)
A:ChangeTurf(/turf/space)
if(last_boom + 100 < world.time && prob(5))
explosion(loc, -1, -1, -1, 1, 0) //Since we're not exploding everything in consume() toss out an explosion effect every now and again
last_boom = world.time
return
/obj/machinery/singularity/narsie/ex_act() //No throwing bombs at it either. --NEO

View File

@@ -218,6 +218,10 @@
if (!istype(src.loc, /turf) && !istype(usr, /mob/living/silicon/))
return 0 // Do not update ui
for(var/area/A in active_areas)
A.master.powerupdate = 3
if( href_list["cmode"] )
chargemode = !chargemode
if(!chargemode)

View File

@@ -39,6 +39,7 @@
var/excavation_level = 0
var/datum/geosample/geological_data
var/datum/artifact_find/artifact_find
var/last_act = 0
/obj/structure/boulder/New()
icon_state = "boulder[rand(1,4)]"
@@ -68,8 +69,14 @@
if (istype(W, /obj/item/weapon/pickaxe))
var/obj/item/weapon/pickaxe/P = W
if(last_act + P.digspeed > world.time)//prevents message spam
return
last_act = world.time
user << "\red You start [P.drill_verb] [src]."
if(!do_after(user,P.digspeed))
return
@@ -97,3 +104,22 @@
user.visible_message("<font color='red'><b>[src] suddenly crumbles away.</b></font>",\
"\blue [src] has been whittled away under your careful excavation, but there was nothing of interest inside.")
del(src)
/obj/structure/boulder/Bumped(AM)
. = ..()
if(istype(AM,/mob/living/carbon/human))
var/mob/living/carbon/human/H = AM
if((istype(H.l_hand,/obj/item/weapon/pickaxe)) && (!H.hand))
attackby(H.l_hand,H)
else if((istype(H.r_hand,/obj/item/weapon/pickaxe)) && H.hand)
attackby(H.r_hand,H)
else if(istype(AM,/mob/living/silicon/robot))
var/mob/living/silicon/robot/R = AM
if(istype(R.module_active,/obj/item/weapon/pickaxe))
attackby(R.module_active,R)
else if(istype(AM,/obj/mecha))
var/obj/mecha/M = AM
if(istype(M.selected,/obj/item/mecha_parts/mecha_equipment/tool/drill))
M.selected.action(src)

View File

@@ -30,6 +30,7 @@ em {font-style: normal; font-weight: bold;}
.comradio {color: #193A7A;}
.syndradio {color: #6D3F40;}
.centradio {color: #5C5C8A;}
.airadio {color: #FF00FF;}
.secradio {color: #A30000;}
.engradio {color: #A66300;}

View File

@@ -35,7 +35,7 @@ Header Section
<table align='center' class="top">
<tr>
<td valign='top'>
<font size='2'><b>Code:</b> Abi79, Aryn, Cael_Aislinn, Ccomp5950 ,Chinsky, cib, CompactNinja, DopeGhoti, Erthilo, Hawk_v3, Head, Ispil, JoeyJo0, Lexusjjss, Melonstorm, Miniature, Mloc, NerdyBoy1104, SkyMarshal, Snapshot, Spectre, Strumpetplaya, Sunfall, Tastyfish, Uristqwerty<br></font>
<font size='2'><b>Code:</b> Abi79, Aryn, Cael_Aislinn, Ccomp5950, Chinsky, cib, CompactNinja, DopeGhoti, Erthilo, Hawk_v3, Head, Ispil, JoeyJo0, Lexusjjss, Melonstorm, Miniature, Mloc, NerdyBoy1104, SkyMarshal, Snapshot, Spectre, Strumpetplaya, Sunfall, Tastyfish, Uristqwerty<br></font>
<font size='2'><b>Sprites:</b> Apple_Master, Arcalane, Chinsky, CompactNinja, Deus Dactyl, Erthilo, Flashkirby, JoeyJo0, Miniature, Searif, Xenone, faux<br></font>
<font size='2'><b>Sounds:</b> Aryn<br></font>
<font size='2'><b>Thanks To:</b> /tg/ station, Goonstation, Animus Station, Daedalus, and original Spacestation 13 devs. Skibiliano for the IRC bot.</font>
@@ -55,6 +55,7 @@ should be listed in the changelog upon commit though. Thanks. -->
<!-- You can simply add changelogs using AddToChangelog.exe -->
<!-- DO NOT REMOVE, MOVE, OR COPY THIS COMMENT! THIS MUST BE THE LAST NON-EMPTY LINE BEFORE THE LOGS #ADDTOCHANGELOGMARKER# -->
<div class='commit sansserif'>
<h2 class='date'>30 March 2014</h2>
<h3 class='author'>RavingManiac updated:</h3>
@@ -84,6 +85,23 @@ should be listed in the changelog upon commit though. Thanks. -->
</ul>
</div>
<div class='commit sanserif'>
<h2 class='date'>1 March 2014</h2>
<h3 class='author'>Various updated:</h3>
<ul class='changes bgimages16'>
<li class='rscadd'>Paint Mixing, red and blue makes purple!</li>
<li class='rscadd'>New posters to tell you to respect those darned cat people</li>
<li class='rscadd'>NanoUI for APC's, Canisters, Tank Transfer Valves and the heaters / coolers</li>
<li class='tweak'>PDA bombs are now less annoying, and won't always blow up / cause internal bleeding</li>
<li class='tweak'>Blob made less deadly</li>
<li class='rscadd'>Objectiveless Antags now a configuration option, choose your own adventure!</li>
<li class='wip'>Engineering redesign, now with better monitoring of the explodium supermatter!</li>
<li class='rscadd'>Security EOD</li>
<li class='rscadd'>New playable race, IPC's, go beep boop boop all over the station!</li>
<li class='rscadd'>Gamemode autovoting, now players don't have to call for gamemode votes, it's automatic!</li>
</ul>
</div>
<div class='commit sansserif'>
<h2 class='date'>19 February 2014</h2>
<h3 class='author'>Aryn updated:</h3>
@@ -92,6 +110,33 @@ should be listed in the changelog upon commit though. Thanks. -->
</ul>
</div>
<div class='commit sanserif'>
<h2 class='date'>1 February 2014</h2>
<h3 class='author'>Various updated:</h3>
<ul class='changes bgimages16'>
<li class='rscadd'>NanoUI for PDA</li>
<li class='rscadd'>Write in blood while a ghost in cult rounds with enough cultists</li>
<li class='rscadd'>Cookies, absurd sandwiches, and even cookable dioanae nymphs!</li>
<li class='rscadd'>A bunch of new guns and other weapons</li>
<li class='rscadd'>Species specific blood</li>
</ul>
</div>
<div class='commit sansserif'>
<h2 class='date'>1 January 2014</h2>
<h3 class='author'>Various updated:</h3>
<ul class='changes bgimages16'>
<li class='rscadd'>AntagHUD and MedicalHUD for ghosts, see who the baddies are, check for new configuration options.</li>
<li class='rscadd'>Ghosts will now have bold text if they are in the same room as the person making conversations easier to follow.</li>
<li class='rscadd'>New hairstyles! Now you can use something other then hotpink floor length braid.</li>
<li class='wip'>DNA rework, tell us how you were cloned and became albino!</li>
<li class='rscadd'>Dirty floors, so now you know exactly how lazy the janitors are!</li>
<li class='rscadd'>A new UI system, feel free to color it yourself, don't set it to completely clear or you will have a bad time.</li>
<li class='rscadd'>Cryogenic storage, for all your SSD needs.</li>
<li class='rscadd'>New hardsuits for those syndicate tajaran</li>
</ul>
</div>
<div class='commit sansserif'>
<h2 class='date'>18 December 2013</h2>
<h3 class='author'>RavingManiac updated:</h3>
@@ -101,6 +146,20 @@ should be listed in the changelog upon commit though. Thanks. -->
</ul>
</div>
<div class='commit sansserif'>
<h2 class='date'>1 December 2013</h2>
<h3 class='author'>Various Developers banged their keyboards together:</h3>
<ul class='changes bgimages16'>
<li class='rscadd'>New Engine, the supermatter, figure out what a cooling loop is, or don't and blow up engineering!</li>
<li class='rscadd'>Each department will have it's own fax, make a copy of your butt and fax it to the admins!</li>
<li class='rscadd'>Booze and soda dispensers, they are like chemmasters, only with booze and soda!</li>
<li class='rscadd'>Bluespace and Cryostasis beakers, how do they work? Fuggin bluespace how do they work?</li>
<li class='rscadd'>You can now shove things into vending machines, impress your friends on how things magically disappear out of your hands into the machine!</li>
<li class='rscadd'>Robots and Androids (And gynoids too!) can now use custom job titles</li>
<li class='bugfix'>Various bugfixes</li>
</ul>
</div>
<div class='commit sansserif'>
<h2 class='date'>24 November 2013</h2>
<h3 class='author'>Yinadele updated:</h3>
@@ -134,6 +193,19 @@ should be listed in the changelog upon commit though. Thanks. -->
</ul>
</div>
<div class='commit sansserif'>
<h2 class='date'>1 November 2013</h2>
<h3 class='author'>Various updated:</h3>
<ul class='changes bgimages16'>
<li class='rscadd'>Autovoting, Get off the station when your 15 hour workweek is done, thanks unions!</li>
<li class='rscadd'>Some beach props that Chinsky finds useless.</li>
<li class='wip'>Updated NanoUI</li>
<li class='rscadd'>Dialysis while in sleepers - removes reagents from mobs, like the chemist, toss him in there!</li>
<li class='tweak'>Pipe Dispensers can now be ordered by Cargo</li>
<li class='rscadd'>Fancy G-G-G-G-Ghosts!</li>
</ul>
</div>
<div class='commit sansserif'>
<h2 class='date'>29 October 2013</h2>
<h3 class='author'>Cael_Aislinn updated:</h3>
@@ -146,7 +218,7 @@ should be listed in the changelog upon commit though. Thanks. -->
<div class='commit sansserif'>
<h2 class='date'>06 Derptomber 2013</h2>
<h2 class='date'>06 October 2013</h2>
<h3 class='author'>Chinsky updated:</h3>
<ul class='changes bgimages16'>
<li class='rscadd'>Added contact-spread viruses. Spread if infected guy touches someone with bare hands, or if someone touches bare infected guy. Biosuits/gloves help.</li>
@@ -1083,4 +1155,4 @@ Credits Section
<p class="lic">Some icons by <a href="http://p.yusukekamiyamane.com/">Yusuke Kamiyamane</a>. All rights reserved. Licensed under a <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0 License</a>.</p>
</td></tr></table></div>
</body>
</html>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 39 KiB

File diff suppressed because it is too large Load Diff