Bugfix Bonanza - Skull's turn (#555)

Fixes #531
Fixes #276
`/mob/living/proc/revive` now also sets `mob/var/suiciding` to false. This is to stop rejuvinated/ling revived mobs from dying again after being brought back.
Fixes #92
Fixes #479
Fixes #157
Fixes #533
Fixes #486
Fixes #528
This commit is contained in:
skull132
2016-07-12 14:53:57 +03:00
committed by GitHub
parent 92ba70df81
commit 6e00593de0
13 changed files with 83 additions and 24 deletions
+2 -1
View File
@@ -27,6 +27,7 @@
storage_slots = 6
/obj/item/weapon/storage/box/evidence/New()
..()
for(var/i=0;i<storage_slots,i++)
new /obj/item/weapon/evidencebag(src)
@@ -41,4 +42,4 @@
/obj/item/weapon/storage/box/fingerprints/New()
..()
for(var/i=0;i<storage_slots,i++)
new /obj/item/weapon/sample/print(src)
new /obj/item/weapon/sample/print(src)
+7
View File
@@ -72,3 +72,10 @@
colour = "i"
key = "4"
flags = NO_STUTTER|SIGNLANG
// Helper
/proc/get_lang_name(var/datum/language/language)
if (!language || !istype(language))
return "Unknown"
return language.name
+2
View File
@@ -17,6 +17,8 @@
if (!message)
return
log_say("[key_name(speaker)] : ([name]) [message]")
var/message_start = "<i><span class='game say'>[name], <span class='name'>[speaker.name]</span>"
var/message_body = "<span class='message'>[speaker.say_quote(message)], \"[message]\"</span></span></i>"
@@ -7,7 +7,6 @@
return
message = sanitize(message)
log_whisper("[src.name]/[src.key] : [message]")
if (src.client)
if (src.client.prefs.muted & MUTE_IC)
@@ -75,6 +74,8 @@
if(!message || message=="")
return
log_whisper("[key_name(src)] : ([get_lang_name(speaking)]) [message]")
//looks like this only appears in whisper. Should it be elsewhere as well? Maybe handle_speech_problems?
var/voice_sub
if(istype(back,/obj/item/weapon/rig))
@@ -102,12 +103,12 @@
temp_message[H] = ninjaspeak(temp_message[H])
pick_list -= H
message = list2text(temp_message, " ")
message = replacetext(message, "o", "¤")
message = replacetext(message, "p", "þ")
message = replacetext(message, "l", "£")
message = replacetext(message, "s", "§")
message = replacetext(message, "u", "µ")
message = replacetext(message, "b", "ß")
message = replacetext(message, "o", "¤")
message = replacetext(message, "p", "ž")
message = replacetext(message, "l", "£")
message = replacetext(message, "s", "§")
message = replacetext(message, "u", "µ")
message = replacetext(message, "b", "ß")
var/list/listening = hearers(message_range, src)
listening |= src
+4 -1
View File
@@ -379,6 +379,10 @@ default behaviour is:
/mob/living/proc/revive()
// Stop killing yourself. Please.
if(suiciding)
suiciding = 0
rejuvenate()
if(buckled)
buckled.unbuckle_mob()
@@ -773,4 +777,3 @@ default behaviour is:
if(W in internal_organs)
return
..()
+4 -2
View File
@@ -144,7 +144,7 @@ proc/get_radio_key_from_channel(var/channel)
var/message_mode = parse_message_mode(message, "headset")
message = process_chat_markup(message, list("~", "-"))
message = process_chat_markup(message, list("~", "_"))
switch(copytext(message,1,2))
if("*") return emote(copytext(message,2))
@@ -281,10 +281,12 @@ proc/get_radio_key_from_channel(var/channel)
if(O) //It's possible that it could be deleted in the meantime.
O.hear_talk(src, message, verb, speaking)
log_say("[name]/[key] : [message]")
log_say("[key_name(src)] : ([get_lang_name(speaking)]) [message]")
return 1
/mob/living/proc/say_signlang(var/message, var/verb="gestures", var/datum/language/language)
log_say("[key_name(src)] : ([get_lang_name(language)]) [message]")
for (var/mob/O in viewers(src, null))
O.hear_signlang(message, verb, language, src)
return 1
@@ -22,7 +22,7 @@ var/global/list/robot_modules = list(
flags = CONDUCT
var/channels = list()
var/networks = list()
var/languages = list(LANGUAGE_SOL_COMMON = 1, LANGUAGE_TRADEBAND = 1, LANGUAGE_UNATHI = 0, LANGUAGE_SIIK_TAJR = 0, LANGUAGE_SKRELLIAN = 0, LANGUAGE_GUTTER = 0, LANGUAGE_VAURCESE = 0, LANGUAGE_ROOTSPEAK = 0)
var/languages = list(LANGUAGE_SOL_COMMON = 1, LANGUAGE_TRADEBAND = 1, LANGUAGE_UNATHI = 0, LANGUAGE_SIIK_MAAS = 0, LANGUAGE_SKRELLIAN = 0, LANGUAGE_GUTTER = 0, LANGUAGE_VAURCESE = 0, LANGUAGE_ROOTSPEAK = 0)
var/sprites = list()
var/can_be_pushed = 1
var/no_slip = 0
@@ -632,7 +632,7 @@ var/global/list/robot_modules = list(
LANGUAGE_SOL_COMMON = 1,
LANGUAGE_TRADEBAND = 1,
LANGUAGE_UNATHI = 0,
LANGUAGE_SIIK_TAJR = 0,
LANGUAGE_SIIK_MAAS = 0,
LANGUAGE_SKRELLIAN = 0,
LANGUAGE_GUTTER = 1
)
+1 -1
View File
@@ -58,7 +58,7 @@
usr << "<span class='danger'>You have deadchat muted.</span>"
return
message = process_chat_markup(message, list("~", "-"))
message = process_chat_markup(message, list("~", "_"))
say_dead_direct("[pick("complains","moans","whines","laments","blubbers")], <span class='message'>\"[message]\"</span>", src)
+2 -1
View File
@@ -45,6 +45,8 @@
user << "\blue You inscribe \"[label_text]\" into \the [initial(BB.name)]."
BB.name = "[initial(BB.name)] (\"[label_text]\")"
..()
/obj/item/ammo_casing/update_icon()
if(spent_icon && !BB)
icon_state = spent_icon
@@ -163,4 +165,3 @@
magazine_icondata_keys["[M.type]"] = icon_keys
magazine_icondata_states["[M.type]"] = ammo_states
+7 -6
View File
@@ -128,12 +128,13 @@
nanomanager.update_uis(src)
if(beaker)
if(foodsupply < 100 && beaker.reagents.remove_reagent("virusfood",5))
if(foodsupply + 10 <= 100)
foodsupply += 10
else
beaker.reagents.add_reagent("virusfood",(100 - foodsupply)/2)
foodsupply = 100
if (foodsupply < 100 && beaker.reagents.has_reagent("virusfood"))
var/food_needed = min(10, 100 - foodsupply) / 2
var/food_taken = min(food_needed, beaker.reagents.get_reagent_amount("virusfood"))
beaker.reagents.remove_reagent("virusfood", food_taken)
foodsupply = min(100, food_taken * 2)
nanomanager.update_uis(src)
if (locate(/datum/reagent/toxin) in beaker.reagents.reagent_list && toxins < 100)