Merge pull request #7561 from Baystation12/dev-freeze

Dev freeze
This commit is contained in:
Zuhayr
2014-12-29 02:47:31 +10:30
27 changed files with 256 additions and 124 deletions
+1 -1
View File
@@ -79,7 +79,7 @@
if(sleeping)
adjustHalLoss(-3)
if (mind)
if((mind.active && client != null) || immune_to_ssd)
if(mind.active && client != null)
sleeping = max(sleeping-1, 0)
blinded = 1
stat = UNCONSCIOUS
@@ -14,6 +14,7 @@
prosthetic_name = "cyberbrain"
prosthetic_icon = "brain-prosthetic"
organ_tag = "brain"
organ_type = /datum/organ/internal/brain
var/mob/living/carbon/brain/brainmob = null
+5 -2
View File
@@ -200,8 +200,11 @@
if (istype(src,/mob/living/carbon/human) && src:w_uniform)
var/mob/living/carbon/human/H = src
H.w_uniform.add_fingerprint(M)
if(lying || src.sleeping)
if(player_logged)
M.visible_message("<span class='notice'>[M] shakes [src] trying to wake [t_him] up!</span>", \
"<span class='notice'>You shake [src], but they do not respond... Maybe they have S.S.D?</span>")
else if(lying || src.sleeping)
src.sleeping = max(0,src.sleeping-5)
if(src.sleeping == 0)
src.resting = 0
@@ -57,7 +57,10 @@
if(species && species.has_organ["brain"])
var/datum/organ/internal/brain/sponge = internal_organs_by_name["brain"]
brainloss = min(sponge.damage,maxHealth*2)
if(sponge)
brainloss = min(sponge.damage,maxHealth*2)
else
brainloss = 200
else
brainloss = 0
return brainloss
@@ -98,14 +98,14 @@
T.Weaken(5)
//Only official cool kids get the grab and no self-prone.
if(src.mind && src.mind.special_role)
if(src.mind && !src.mind.special_role)
src.Weaken(5)
return
var/use_hand = "left"
if(l_hand)
if(r_hand)
src << "\red You need to have one hand free to grab someone."
src << "<span class='danger'>You need to have one hand free to grab someone.</span>"
return
else
use_hand = "right"
+11 -1
View File
@@ -995,6 +995,10 @@
proc/handle_regular_status_updates()
if(status_flags & GODMODE) return 0
//SSD check, if a logged player is awake put them back to sleep!
if(player_logged && sleeping < 2)
sleeping = 2
if(stat == DEAD) //DEAD. BROWN BREAD. SWIMMING WITH THE SPESS CARP
blinded = 1
@@ -1050,7 +1054,10 @@
handle_dreams()
adjustHalLoss(-3)
if (mind)
if((mind.active && client != null) || immune_to_ssd) //This also checks whether a client is connected, if not, sleep is not reduced.
//Are they SSD? If so we'll keep them asleep but work off some of that sleep var in case of stoxin or similar.
if(player_logged)
sleeping = max(sleeping-1, 2)
else
sleeping = max(sleeping-1, 0)
blinded = 1
stat = UNCONSCIOUS
@@ -1753,6 +1760,9 @@
return slurring
/mob/living/carbon/human/handle_stunned()
if(species.flags & NO_PAIN)
stunned = 0
return 0
if(..())
speech_problem_flag = 1
return stunned
@@ -202,9 +202,9 @@
return
// Called when using the shredding behavior.
/datum/species/proc/can_shred(var/mob/living/carbon/human/H)
/datum/species/proc/can_shred(var/mob/living/carbon/human/H, var/ignore_intent)
if(H.a_intent != "hurt")
if(ignore_intent && H.a_intent != "hurt")
return 0
for(var/datum/unarmed_attack/attack in unarmed_attacks)
+1 -1
View File
@@ -686,7 +686,7 @@
can_break_cuffs = 1
else if(istype(CM,/mob/living/carbon/human))
var/mob/living/carbon/human/H = CM
if(H.species.can_shred(H))
if(H.species.can_shred(H,1))
can_break_cuffs = 1
if(can_break_cuffs) //Don't want to do a lot of logic gating here.
+2
View File
@@ -4,6 +4,8 @@
//Mind updates
mind_initialize() //updates the mind (or creates and initializes one if one doesn't exist)
mind.active = 1 //indicates that the mind is currently synced with a client
//If they're SSD, remove it so they can wake back up.
player_logged = 0
//Round specific stuff like hud updates
if(ticker && ticker.mode)
+4 -3
View File
@@ -1,7 +1,8 @@
/mob/living/Logout()
..()
if (mind)
if(!key) //key and mind have become seperated.
if(!key) //key and mind have become seperated. I believe this is for when a staff member aghosts.
mind.active = 0 //This is to stop say, a mind.transfer_to call on a corpse causing a ghost to re-enter its body.
if(!immune_to_ssd && sleeping < 2 && mind.active)
sleeping = 2 //This causes instant sleep, but does not prolong it. See life.dm for furthering SSD.
//This tags a player as SSD. See appropriate life.dm files for furthering SSD effects such as falling asleep.
if(mind.active)
player_logged = 1
@@ -896,6 +896,12 @@ var/list/robot_verbs_default = list(
add_fingerprint(user)
if(istype(user,/mob/living/carbon/human))
var/mob/living/carbon/human/H = user
if(H.species.can_shred(H))
attack_generic(H, rand(30,50), "slashed")
return
if(opened && !wiresexposed && (!istype(user, /mob/living/silicon)))
var/datum/robot_component/cell_component = components["power cell"]
if(cell)
@@ -11,7 +11,6 @@
var/ioncheck[1]
var/obj/item/device/radio/common_radio
immune_to_ssd = 1
var/list/hud_list[9]
var/list/speech_synthesizer_langs = list() //which languages can be vocalized by the speech synthesizer
+3 -2
View File
@@ -214,8 +214,9 @@
var/universal_understand = 0 // Set to 1 to enable the mob to understand everyone, not necessarily speak
var/stance_damage = 0 //Whether this mob's ability to stand has been affected
var/immune_to_ssd = 0
//SSD var, changed it up some so people can have special things happen for different mobs when SSD.
var/player_logged = 0
var/turf/listed_turf = null //the current turf being examined in the stat panel
var/list/shouldnt_see = list() //list of objects that this mob shouldn't see in the stat panel. this silliness is needed because of AI alt+click and cult blood runes