Merge pull request #5612 from Zuhayr/dev-freeze

Fixes.
This commit is contained in:
Chinsky
2014-07-14 08:53:18 +04:00
15 changed files with 98 additions and 37 deletions
+1
View File
@@ -954,6 +954,7 @@
#include "code\modules\mob\living\carbon\brain\death.dm"
#include "code\modules\mob\living\carbon\brain\emote.dm"
#include "code\modules\mob\living\carbon\brain\life.dm"
#include "code\modules\mob\living\carbon\brain\login.dm"
#include "code\modules\mob\living\carbon\brain\MMI.dm"
#include "code\modules\mob\living\carbon\brain\posibrain.dm"
#include "code\modules\mob\living\carbon\brain\say.dm"
+41 -8
View File
@@ -30,18 +30,18 @@
var/obj/machinery/computer3/laptop/stored_computer = null
verb/open_computer()
set name = "open laptop"
set name = "Open Laptop"
set category = "Object"
set src in view(1)
if(usr.stat || usr.restrained() || usr.lying || !istype(usr, /mob/living))
usr << "\red You can't do that."
return
if(!Adjacent(usr))
usr << "You can't reach it."
return
if(!istype(loc,/turf))
usr << "[src] is too bulky! You'll have to set it down."
return
@@ -69,9 +69,42 @@
if(Adjacent(usr))
open_computer()
//Quickfix until Snapshot works out how he wants to redo power. ~Z
/obj/item/device/laptop/verb/eject_id()
set category = "Object"
set name = "Eject ID Card"
set src in oview(1)
if(stored_computer)
stored_computer.eject_id()
/obj/machinery/computer3/laptop/verb/eject_id()
set category = "Object"
set name = "Eject ID Card"
set src in oview(1)
var/obj/item/part/computer/cardslot/C = locate() in src.contents
if(!C)
usr << "There is no card port on the laptop."
return
var/obj/item/weapon/card/id/card
if(C.reader)
card = C.reader
else if(C.writer)
card = C.writer
else
usr << "There is nothing to remove from the laptop card port."
return
usr << "You remove [card] from the laptop."
C.remove(card)
/obj/machinery/computer3/laptop
name = "Laptop Computer"
desc = "A clamshell portable computer. It is open."
desc = "A clamshell portable computer. It is open."
icon_state = "laptop"
density = 0
@@ -90,15 +123,15 @@
set name = "Close Laptop"
set category = "Object"
set src in view(1)
if(usr.stat || usr.restrained() || usr.lying || !istype(usr, /mob/living))
usr << "\red You can't do that."
return
if(!Adjacent(usr))
usr << "You can't reach it."
return
if(istype(loc,/obj/item/device/laptop))
testing("Close closed computer")
return
+1 -1
View File
@@ -3,7 +3,7 @@
/obj/item/clothing/head/chefhat
name = "chef's hat"
desc = "It's a hat used by chefs to keep hair out of your food. Judging by the food in the mess, they don't work."
icon_state = "chef"
icon_state = "chefhat"
item_state = "chefhat"
desc = "The commander in chef's head wear."
flags = FPRINT | TABLEPASS
+11 -8
View File
@@ -142,10 +142,20 @@
/obj/machinery/mineral/processing_unit/process()
if (!active || !src.output || !src.input) return
if (!src.output || !src.input) return
var/list/tick_alloys = list()
//Grab some more ore to process this tick.
for(var/i = 0,i<sheets_per_tick,i++)
var/obj/item/weapon/ore/O = locate() in input.loc
if(!O) break
if(!isnull(ores_stored[O.oretag])) ores_stored[O.oretag]++
O.loc = null
if(!active)
return
//Process our stored ores and spit out sheets.
var/sheets = 0
for(var/metal in ores_stored)
@@ -221,11 +231,4 @@
else
continue
//Grab some more ore to process next tick.
for(var/i = 0,i<sheets_per_tick,i++)
var/obj/item/weapon/ore/O = locate() in input.loc
if(!O) break
if(!isnull(ores_stored[O.oretag])) ores_stored[O.oretag]++
O.loc = null
console.updateUsrDialog()
@@ -1,2 +1,3 @@
/mob/living/carbon/brain/Login()
return ..()
..()
sleeping = 0
@@ -58,7 +58,6 @@
dizziness = 0
jitteriness = 0
hud_updateflag |= 1 << HEALTH_HUD
hud_updateflag |= 1 << STATUS_HUD
@@ -117,8 +116,6 @@
ticker.mode.check_win() //Calls the rounds wincheck, mainly for wizard, malf, and changeling now
return ..(gibbed)
/mob/living/carbon/human/proc/makeSkeleton()
if(SKELETON in src.mutations) return
@@ -66,8 +66,10 @@
return custom_emote(m_type, message)
if ("me")
if(silent)
return
//if(silent && silent > 0 && findtext(message,"\"",1, null) > 0)
// return //This check does not work and I have no idea why, I'm leaving it in for reference.
if (src.client)
if (client.prefs.muted & MUTE_IC)
src << "\red You cannot send IC messages (muted)."
@@ -690,6 +690,7 @@
loc_temp = environment.temperature
if(adjusted_pressure < species.warning_high_pressure && adjusted_pressure > species.warning_low_pressure && abs(loc_temp - bodytemperature) < 20 && bodytemperature < species.heat_level_1 && bodytemperature > species.cold_level_1 && environment.phoron < MOLES_PHORON_VISIBLE)
pressure_alert = 0
return // Temperatures are within normal ranges, fuck all this processing. ~Ccomp
//Body temperature adjusts depending on surrounding atmosphere based on your thermal protection
@@ -1098,6 +1099,9 @@
return //TODO: DEFERRED
proc/handle_regular_status_updates()
if(status_flags & GODMODE) return 0
if(stat == DEAD) //DEAD. BROWN BREAD. SWIMMING WITH THE SPESS CARP
blinded = 1
silent = 0
+1
View File
@@ -1,4 +1,5 @@
/mob/living/silicon/Login()
sleeping = 0
if(mind && ticker && ticker.mode)
ticker.mode.remove_cultist(mind, 1)
ticker.mode.remove_revolutionary(mind, 1)
+11
View File
@@ -134,6 +134,7 @@
return 1
if(href_list["late_join"])
if(!ticker || ticker.current_state != GAME_STATE_PLAYING)
usr << "\red The round is either not ready, or has already finished..."
return
@@ -143,6 +144,11 @@
src << alert("You are currently not whitelisted to play [client.prefs.species].")
return 0
var/datum/species/S = all_species[client.prefs.species]
if(!(S.flags & IS_WHITELISTED))
src << alert("Your current species,[client.prefs.species], is not available for play on the station.")
return 0
LateChoices()
if(href_list["manifest"])
@@ -159,6 +165,11 @@
src << alert("You are currently not whitelisted to play [client.prefs.species].")
return 0
var/datum/species/S = all_species[client.prefs.species]
if(!(S.flags & IS_WHITELISTED))
src << alert("Your current species,[client.prefs.species], is not available for play on the station.")
return 0
AttemptLateSpawn(href_list["SelectedJob"],client.prefs.spawnpoint)
return
+14 -8
View File
@@ -32,6 +32,7 @@
var/damage_msg = "\red You feel an intense pain"
var/broken_description
var/vital //Lose a vital limb, die immediately.
var/status = 0
var/open = 0
var/stage = 0
@@ -355,7 +356,7 @@ INFECTION_LEVEL_THREE above this germ level the player will take additional toxi
Note that amputating the affected organ does in fact remove the infection from the player's body.
*/
/datum/organ/external/proc/update_germs()
if(status & (ORGAN_ROBOT|ORGAN_DESTROYED) || (owner.species && owner.species.flags & IS_PLANT)) //Robotic limbs shouldn't be infected, nor should nonexistant limbs.
germ_level = 0
return
@@ -363,7 +364,7 @@ Note that amputating the affected organ does in fact remove the infection from t
if(owner.bodytemperature >= 170) //cryo stops germs from moving and doing their bad stuffs
//** Syncing germ levels with external wounds
handle_germ_sync()
//** Handle antibiotics and curing infections
handle_antibiotics()
@@ -386,10 +387,10 @@ Note that amputating the affected organ does in fact remove the infection from t
/datum/organ/external/proc/handle_germ_effects()
var/antibiotics = owner.reagents.get_reagent_amount("spaceacillin")
if (germ_level > 0 && germ_level < INFECTION_LEVEL_ONE && prob(60)) //this could be an else clause, but it looks cleaner this way
germ_level-- //since germ_level increases at a rate of 1 per second with dirty wounds, prob(60) should give us about 5 minutes before level one.
if(germ_level >= INFECTION_LEVEL_ONE)
//having an infection raises your body temperature
var/fever_temperature = (owner.species.heat_level_1 - owner.species.body_temperature - 1)* min(germ_level/INFECTION_LEVEL_THREE, 1) + owner.species.body_temperature
@@ -400,7 +401,7 @@ Note that amputating the affected organ does in fact remove the infection from t
if(prob(round(germ_level/10)))
if (antibiotics < 5)
germ_level++
if (prob(5)) //adjust this to tweak how fast people take toxin damage from infections
owner.adjustToxLoss(1)
@@ -411,7 +412,7 @@ Note that amputating the affected organ does in fact remove the infection from t
if (I.germ_level > 0 && I.germ_level < min(germ_level, INFECTION_LEVEL_TWO)) //once the organ reaches whatever we can give it, or level two, switch to a different one
if (!target_organ || I.germ_level > target_organ.germ_level) //choose the organ with the highest germ_level
target_organ = I
if (!target_organ)
//figure out which organs we can spread germs to and pick one at random
var/list/candidate_organs = list()
@@ -420,7 +421,7 @@ Note that amputating the affected organ does in fact remove the infection from t
candidate_organs += I
if (candidate_organs.len)
target_organ = pick(candidate_organs)
if (target_organ)
target_organ.germ_level++
@@ -666,6 +667,9 @@ Note that amputating the affected organ does in fact remove the infection from t
// OK so maybe your limb just flew off, but if it was attached to a pair of cuffs then hooray! Freedom!
release_restraints()
if(vital)
owner.death()
/****************************************************
HELPERS
****************************************************/
@@ -829,7 +833,7 @@ Note that amputating the affected organ does in fact remove the infection from t
max_damage = 75
min_broken_damage = 40
body_part = UPPER_TORSO
vital = 1
/datum/organ/external/groin
name = "groin"
@@ -838,6 +842,7 @@ Note that amputating the affected organ does in fact remove the infection from t
max_damage = 50
min_broken_damage = 30
body_part = LOWER_TORSO
vital = 1
/datum/organ/external/l_arm
name = "l_arm"
@@ -931,6 +936,7 @@ Note that amputating the affected organ does in fact remove the infection from t
min_broken_damage = 40
body_part = HEAD
var/disfigured = 0
vital = 1
/datum/organ/external/head/get_icon()
if (!owner)
+8 -6
View File
@@ -123,20 +123,22 @@
shift_light(5, warning_color)
if((world.timeofday - lastwarning) / 10 >= WARNING_DELAY)
var/stability = num2text(round((damage / explosion_point) * 100))
var/alert_msg
if(damage > emergency_point)
shift_light(7, emergency_color)
radio.autosay(addtext(emergency_alert, " Instability: ",stability,"%"), "Supermatter Monitor")
alert_msg = addtext(emergency_alert, " Instability: ",stability,"%")
lastwarning = world.timeofday
else if(damage >= damage_archived) // The damage is still going up
radio.autosay(addtext(warning_alert," Instability: ",stability,"%"), "Supermatter Monitor")
alert_msg = addtext(warning_alert," Instability: ",stability,"%")
lastwarning = world.timeofday - 150
else // Phew, we're safe
radio.autosay(safe_alert, "Supermatter Monitor")
else // Phew, we're safe
alert_msg = safe_alert
lastwarning = world.timeofday
if(!istype(L, /turf/space) && alert_msg)
radio.autosay(alert_msg, "Supermatter Monitor")
if(damage > explosion_point)
for(var/mob/living/mob in living_mob_list)
if(istype(mob, /mob/living/carbon/human))
Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 58 KiB