Merge pull request #60 from Tastyfish/master

borgs go beep and janitor borgs can OCD, charge ordering bug fix, flavor text
This commit is contained in:
headswe
2011-12-04 15:31:07 -08:00
18 changed files with 600 additions and 342 deletions
@@ -665,6 +665,7 @@ datum
M:emote("scream")
M << "\red Your face has become disfigured!"
M.real_name = "Unknown"
M.warn_flavor_changed()
else
M.take_organ_damage(min(15, volume * 2)) // uses min() and volume to make sure they aren't being sprayed in trace amounts (1 unit != insta rape) -- Doohl
else
@@ -711,6 +712,7 @@ datum
M:emote("scream")
M << "\red Your face has become disfigured!"
M.real_name = "Unknown"
M.warn_flavor_changed()
else
if(istype(M, /mob/living/carbon/monkey) && M:wear_mask)
del (M:wear_mask)
@@ -726,6 +728,7 @@ datum
M:emote("scream")
M << "\red Your face has become disfigured!"
M.real_name = "Unknown"
M.warn_flavor_changed()
else
M.take_organ_damage(min(15, volume * 4))
@@ -148,6 +148,7 @@
if (!src.client)
usr << "\red [src.name] doesn't seem as though they want to talk."
print_flavor_text()
usr << "\blue *---------*"
@@ -26,4 +26,6 @@
if(10)
usr << text("\blue <B>[] seems to have extreme electrical activity inside it!</B>", src.name)
print_flavor_text()
return
@@ -28,4 +28,7 @@
usr << text("\red <B>[] looks severely burnt!</B>", src.name)
if (src.stat == 1)
usr << text("\red [] doesn't seem to be responding to anything around them, their eyes closed as though asleep.", src.name)
print_flavor_text()
return
+7 -1
View File
@@ -150,4 +150,10 @@
return
/mob/living/proc/UpdateDamageIcon()
return
return
/mob/living/verb/change_flavor_text()
set name = "Change Flavor Text"
set category = "OOC"
src.update_flavor_text()
@@ -18,4 +18,7 @@
usr << text("\red <B>[] looks severely burnt!</B>", src.name)
if (src.stat == 1)
usr << text("\red [] doesn't seem to be responding.", src.name)
print_flavor_text()
return
@@ -18,4 +18,7 @@
usr << text("\red <B>[]'s casing is melted and heat-warped!</B>", src.name)
if (src.stat == 1)
usr << text("\red [] doesn't seem to be responding.", src.name)
print_flavor_text()
return
@@ -132,6 +132,54 @@
else
message = "<B>[src]</B> looks."
m_type = 1
if("beep")
var/M = null
if(param)
for (var/mob/A in view(null, null))
if (param == A.name)
M = A
break
if(!M)
param = null
if (param)
message = "<B>[src]</B> beeps at [param]."
else
message = "<B>[src]</B> beeps."
playsound(src.loc, 'twobeep.ogg', 50, 0)
m_type = 1
if("ping")
var/M = null
if(param)
for (var/mob/A in view(null, null))
if (param == A.name)
M = A
break
if(!M)
param = null
if (param)
message = "<B>[src]</B> pings at [param]."
else
message = "<B>[src]</B> pings."
playsound(src.loc, 'ping.ogg', 50, 0)
m_type = 1
if("buzz")
var/M = null
if(param)
for (var/mob/A in view(null, null))
if (param == A.name)
M = A
break
if(!M)
param = null
if (param)
message = "<B>[src]</B> buzzes at [param]."
else
message = "<B>[src]</B> buzzes."
playsound(src.loc, 'buzz-sigh.ogg', 50, 0)
m_type = 1
else
src << text("Invalid Emote: []", act)
if ((message && src.stat == 0))
@@ -21,4 +21,7 @@
usr << "The cover is open and the power cell is [ cell ? "installed" : "missing"]."
else
usr << "The cover is closed."
print_flavor_text()
return
@@ -172,6 +172,7 @@
src.modules += new /obj/item/weapon/cleaner(src)
src.modules += new /obj/item/weapon/mop(src)
src.modules += new /obj/item/weapon/reagent_containers/glass/bucket(src)
src.modules += new /obj/item/weapon/trashbag(src)
src.emag = new /obj/item/weapon/cleaner(src)
var/datum/reagents/R = new/datum/reagents(1000)
+28
View File
@@ -380,6 +380,29 @@
if (popup)
memory()
/mob/proc/update_flavor_text()
var/msg = input(usr,"Set the flavor text in your 'examine' verb. Don't metagame!","Flavor Text",html_decode(flavor_text)) as message|null
if(msg != null)
msg = copytext(msg, 1, MAX_MESSAGE_LEN)
msg = html_encode(msg)
src.flavor_text = msg
/mob/proc/warn_flavor_changed()
if(src.flavor_text && src.flavor_text != "") // don't spam people that don't use it!
src << "<h2 class='alert'>OOC Warning:</h2>"
src << "<span class='alert'>Your flavor text is likely out of date! <a href='byond://?src=\ref[src];flavor_change=1'>Change</a></span>"
/mob/proc/print_flavor_text()
if (flavor_text && flavor_text != "")
var/msg = dd_replacetext(flavor_text, "\n", " ")
if(lentext(msg) <= 40)
usr << "\blue [msg]"
else
usr << "\blue [copytext(msg, 1, 37)]... <a href='byond://?src=\ref[src];flavor_more=1'>More...</a>"
/*
/mob/verb/help()
set name = "Help"
@@ -605,6 +628,11 @@
if(K && usr)
if(K.client && K.client.holder && K.key != usr.key && K.key != M.key)
K << "<b><font color='blue'>PM: [key_name(usr, K)]->[key_name(M, K)]:</b> \blue [t]</font>"
if(href_list["flavor_more"])
usr << browse(text("<HTML><HEAD><TITLE>[]</TITLE></HEAD><BODY><TT>[]</TT></BODY></HTML>", src.name, dd_replacetext(src.flavor_text, "\n", "<BR>")), text("window=[];size=500x200", src.name))
onclose(usr, "[src.name]")
if(href_list["flavor_change"])
update_flavor_text()
..()
return
+21 -1
View File
@@ -102,6 +102,8 @@ datum/preferences
job_engsec_med = 0
job_engsec_low = 0
flavor_text = ""
// slot stuff
var/slotname
var/curslot = 0
@@ -163,6 +165,13 @@ datum/preferences
dat += "<hr><b>Eyes</b><br>"
dat += "<a href='byond://?src=\ref[user];preferences=1;eyes=input'>Change Color</a> <font face=\"fixedsys\" size=\"3\" color=\"#[num2hex(r_eyes, 2)][num2hex(g_eyes, 2)][num2hex(b_eyes, 2)]\"><table style='display:inline;' bgcolor=\"#[num2hex(r_eyes, 2)][num2hex(g_eyes, 2)][num2hex(b_eyes)]\"><tr><td>__</td></tr></table></font>"
dat += "<hr><b>Flavor Text</b><br>"
dat += "<a href='byond://?src=\ref[user];preferences=1;flavor_text=1'>Change</a><br>"
if(lentext(flavor_text) <= 40)
dat += "[flavor_text]"
else
dat += "[copytext(flavor_text, 1, 37)]..."
dat += "<hr>"
if(!jobban_isbanned(user, "Syndicate"))
var/n = 0
@@ -557,6 +566,15 @@ datum/preferences
if(link_tags["b_random_name"])
be_random_name = !be_random_name
if(link_tags["flavor_text"])
var/msg = input(usr,"Set the flavor text in your 'examine' verb. Don't metagame!","Flavor Text",html_decode(flavor_text)) as message
if(msg != null)
msg = copytext(msg, 1, MAX_MESSAGE_LEN)
msg = html_encode(msg)
flavor_text = msg
// slot links
if(!IsGuestKey(user.key))
if(link_tags["saveslot"])
@@ -595,7 +613,7 @@ datum/preferences
if(count > 10)
usr << "You have reached the character limit."
return
slotname = input(usr,"Choose a name for your slot","Name","Default")
slotname = input(usr,"Choose a name for your slot","Name","Slot "+num2text(count))
curslot = savefile_createslot(user, slotname)
@@ -644,6 +662,8 @@ datum/preferences
randomize_name()
character.real_name = real_name
character.flavor_text = flavor_text
character.gender = gender
character.age = age
+4
View File
@@ -97,6 +97,8 @@ datum/preferences/proc/savefile_save(mob/user, slot)
F["real_name"] << src.real_name
F["name_is_always_random"] << src.be_random_name
F["flavor_text"] << flavor_text
F["gender"] << src.gender
F["age"] << src.age
@@ -173,6 +175,8 @@ datum/preferences/proc/savefile_load(mob/user, slot)
F["gender"] >> src.gender
F["age"] >> src.age
F["flavor_text"] >> flavor_text
F["hair_red"] >> src.r_hair
F["hair_green"] >> src.g_hair
F["hair_blue"] >> src.b_hair