Merge branch 'master' into dev-freeze

Conflicts:
	html/changelog.html
This commit is contained in:
Chinsky
2013-11-30 05:11:36 +04:00
6 changed files with 62 additions and 20 deletions

View File

@@ -126,17 +126,20 @@ datum/mind
var/mob/living/carbon/human/H = current var/mob/living/carbon/human/H = current
if (istype(current, /mob/living/carbon/human) || istype(current, /mob/living/carbon/monkey)) if (istype(current, /mob/living/carbon/human) || istype(current, /mob/living/carbon/monkey))
/** Impanted**/ /** Impanted**/
if(H.is_loyalty_implanted(H)) if(istype(current, /mob/living/carbon/human))
text = "Loyalty Implant:<a href='?src=\ref[src];implant=remove'>Remove</a>|<b>Implanted</b></br>" if(H.is_loyalty_implanted(H))
text = "Loyalty Implant:<a href='?src=\ref[src];implant=remove'>Remove</a>|<b>Implanted</b></br>"
else
text = "Loyalty Implant:<b>No Implant</b>|<a href='?src=\ref[src];implant=add'>Implant him!</a></br>"
else else
text = "Loyalty Implant:<b>No Implant</b>|<a href='?src=\ref[src];implant=add'>Implant him!</a></br>" text = "Loyalty Implant: Don't implant that monkey!</br>"
sections["implant"] = text sections["implant"] = text
/** REVOLUTION ***/ /** REVOLUTION ***/
text = "revolution" text = "revolution"
if (ticker.mode.config_tag=="revolution") if (ticker.mode.config_tag=="revolution")
text += uppertext(text) text += uppertext(text)
text = "<i><b>[text]</b></i>: " text = "<i><b>[text]</b></i>: "
if (H.is_loyalty_implanted(H)) if (istype(current, /mob/living/carbon/monkey) || H.is_loyalty_implanted(H))
text += "<b>LOYAL EMPLOYEE</b>|headrev|rev" text += "<b>LOYAL EMPLOYEE</b>|headrev|rev"
else if (src in ticker.mode.head_revolutionaries) else if (src in ticker.mode.head_revolutionaries)
text = "<a href='?src=\ref[src];revolution=clear'>employee</a>|<b>HEADREV</b>|<a href='?src=\ref[src];revolution=rev'>rev</a>" text = "<a href='?src=\ref[src];revolution=clear'>employee</a>|<b>HEADREV</b>|<a href='?src=\ref[src];revolution=rev'>rev</a>"
@@ -166,7 +169,7 @@ datum/mind
if (ticker.mode.config_tag=="cult") if (ticker.mode.config_tag=="cult")
text = uppertext(text) text = uppertext(text)
text = "<i><b>[text]</b></i>: " text = "<i><b>[text]</b></i>: "
if (H.is_loyalty_implanted(H)) if (istype(current, /mob/living/carbon/monkey) || H.is_loyalty_implanted(H))
text += "<B>LOYAL EMPLOYEE</B>|cultist" text += "<B>LOYAL EMPLOYEE</B>|cultist"
else if (src in ticker.mode.cult) else if (src in ticker.mode.cult)
text += "<a href='?src=\ref[src];cult=clear'>employee</a>|<b>CULTIST</b>" text += "<a href='?src=\ref[src];cult=clear'>employee</a>|<b>CULTIST</b>"
@@ -238,13 +241,13 @@ datum/mind
if(istype(current, /mob/living/carbon/human)) if(istype(current, /mob/living/carbon/human))
if (H.is_loyalty_implanted(H)) if (H.is_loyalty_implanted(H))
text +="traitor|<b>LOYAL EMPLOYEE</b>" text +="traitor|<b>LOYAL EMPLOYEE</b>"
else
if (src in ticker.mode.traitors)
text += "<b>TRAITOR</b>|<a href='?src=\ref[src];traitor=clear'>Employee</a>"
if (objectives.len==0)
text += "<br>Objectives are empty! <a href='?src=\ref[src];traitor=autoobjectives'>Randomize</a>!"
else else
text += "<a href='?src=\ref[src];traitor=traitor'>traitor</a>|<b>Employee</b>" if (src in ticker.mode.traitors)
text += "<b>TRAITOR</b>|<a href='?src=\ref[src];traitor=clear'>Employee</a>"
if (objectives.len==0)
text += "<br>Objectives are empty! <a href='?src=\ref[src];traitor=autoobjectives'>Randomize</a>!"
else
text += "<a href='?src=\ref[src];traitor=traitor'>traitor</a>|<b>Employee</b>"
sections["traitor"] = text sections["traitor"] = text
/** MONKEY ***/ /** MONKEY ***/

View File

@@ -199,6 +199,27 @@
name = "agent card" name = "agent card"
access = list(access_maint_tunnels, access_syndicate, access_external_airlocks) access = list(access_maint_tunnels, access_syndicate, access_external_airlocks)
origin_tech = "syndicate=3" origin_tech = "syndicate=3"
var/registered_user=null
/obj/item/weapon/card/id/syndicate/New(mob/user as mob)
..()
var/t = reject_bad_name(input(user, "What name would you like to put on this card?\nNode: You can change this later by clicking on the ID card while it's in your hand.", "Agent card name", ishuman(user) ? user.real_name : user.name))
if(!t)
alert("Invalid name.")
if(!registered_name)
registered_name = ishuman(user) ? user.real_name : user.name
else
registered_name = t
var/u = copytext(sanitize(input(user, "What occupation would you like to put on this card?\nNote: This will not grant any access levels other than Maintenance.", "Agent card job assignment", "Assistant")),1,MAX_MESSAGE_LEN)
if(!u)
alert("Invalid assignment.")
assignment = "Assistant"
else
assignment = u
name = "[registered_name]'s ID Card ([assignment])"
user << "\blue You successfully forge the ID card."
registered_user = user
/obj/item/weapon/card/id/syndicate/afterattack(var/obj/item/weapon/O as obj, mob/user as mob, proximity) /obj/item/weapon/card/id/syndicate/afterattack(var/obj/item/weapon/O as obj, mob/user as mob, proximity)
if(!proximity) return if(!proximity) return
@@ -209,7 +230,6 @@
if(user.mind.special_role) if(user.mind.special_role)
usr << "\blue The card's microscanners activate as you pass it over the ID, copying its access." usr << "\blue The card's microscanners activate as you pass it over the ID, copying its access."
/obj/item/weapon/card/id/syndicate/var/mob/registered_user = null
/obj/item/weapon/card/id/syndicate/attack_self(mob/user as mob) /obj/item/weapon/card/id/syndicate/attack_self(mob/user as mob)
if(!src.registered_name) if(!src.registered_name)
//Stop giving the players unsanitized unputs! You are giving ways for players to intentionally crash clients! -Nodrak //Stop giving the players unsanitized unputs! You are giving ways for players to intentionally crash clients! -Nodrak
@@ -228,7 +248,10 @@
src.name = "[src.registered_name]'s ID Card ([src.assignment])" src.name = "[src.registered_name]'s ID Card ([src.assignment])"
user << "\blue You successfully forge the ID card." user << "\blue You successfully forge the ID card."
registered_user = user registered_user = user
else if(registered_user == user) else if(!registered_user || registered_user == user)
if(!registered_user) registered_user = user // First one to pick it up is the owner if there is ever a wild case New() doens't work.
switch(alert("Would you like to display the ID, or retitle it?","Choose.","Rename","Show")) switch(alert("Would you like to display the ID, or retitle it?","Choose.","Rename","Show"))
if("Rename") if("Rename")
var t = copytext(sanitize(input(user, "What name would you like to put on this card?", "Agent card name", ishuman(user) ? user.real_name : user.name)),1,26) var t = copytext(sanitize(input(user, "What name would you like to put on this card?", "Agent card name", ishuman(user) ? user.real_name : user.name)),1,26)

View File

@@ -97,7 +97,7 @@
"/obj/item/device/flashlight/pen", "/obj/item/device/flashlight/pen",
"/obj/item/clothing/mask/surgical", "/obj/item/clothing/mask/surgical",
"/obj/item/clothing/gloves/latex", "/obj/item/clothing/gloves/latex",
"/obj/item/weapon/reagent_containers/hypospray/autoinjector" "/obj/item/weapon/reagent_containers/hypospray"
) )

View File

@@ -194,6 +194,11 @@
playsound(user, fire_sound, 10, 1) playsound(user, fire_sound, 10, 1)
else else
playsound(user, fire_sound, 50, 1) playsound(user, fire_sound, 50, 1)
if(istype(in_chamber, /obj/item/projectile/beam/lastertag))
user.show_message("<span class = 'warning'>You feel rather silly, trying to commit suicide with a toy.</span>")
mouthshoot = 0
return
in_chamber.on_hit(M) in_chamber.on_hit(M)
if (in_chamber.damage_type != HALLOSS) if (in_chamber.damage_type != HALLOSS)
user.apply_damage(in_chamber.damage*2.5, in_chamber.damage_type, "head", used_weapon = "Point blank shot in the mouth with \a [in_chamber]") user.apply_damage(in_chamber.damage*2.5, in_chamber.damage_type, "head", used_weapon = "Point blank shot in the mouth with \a [in_chamber]")

View File

@@ -2821,8 +2821,8 @@ datum
if (adj_drowsy) M.drowsyness = max(0,M.drowsyness + adj_drowsy) if (adj_drowsy) M.drowsyness = max(0,M.drowsyness + adj_drowsy)
if (adj_sleepy) M.sleeping = max(0,M.sleeping + adj_sleepy) if (adj_sleepy) M.sleeping = max(0,M.sleeping + adj_sleepy)
if(!src.data) data = 1 if(!src.data || (!isnum(src.data) && src.data.len)) data = 1 //if it doesn't exist we set it. if it's a list we're going to set it to 1 as well. This is to
src.data += boozepwr src.data += boozepwr //avoid a runtime error associated with drinking blood mixed in drinks (demon's blood).
var/d = data var/d = data
@@ -3370,7 +3370,6 @@ datum
description = "AHHHH!!!!" description = "AHHHH!!!!"
color = "#820000" // rgb: 130, 0, 0 color = "#820000" // rgb: 130, 0, 0
boozepwr = 3 boozepwr = 3
ethanol/vodkatonic ethanol/vodkatonic
name = "Vodka and Tonic" name = "Vodka and Tonic"
id = "vodkatonic" id = "vodkatonic"

View File

@@ -35,7 +35,7 @@ Header Section
<table align='center' class="top"> <table align='center' class="top">
<tr> <tr>
<td valign='top'> <td valign='top'>
<font size='2'><b>Code:</b> Abi79, Aryn, Cael_Aislinn, Chinsky, cib, CompactNinja, DopeGhoti, Erthilo, Hawk_v3, Head, Ispil, 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, 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, Miniature, Searif, Xenone, faux<br></font> <font size='2'><b>Sprites:</b> Apple_Master, Arcalane, Chinsky, CompactNinja, Deus Dactyl, Erthilo, Flashkirby, Miniature, Searif, Xenone, faux<br></font>
<font size='2'><b>Sounds:</b> Aryn<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> <font size='2'><b>Thanks To:</b> /tg/ station, Goonstation, Animus Station, Daedalus, and original Spacestation 13 devs. Skibiliano for the IRC bot.</font>
@@ -56,6 +56,18 @@ should be listed in the changelog upon commit though. Thanks. -->
<!-- DO NOT REMOVE, MOVE, OR COPY THIS COMMENT! THIS MUST BE THE LAST NON-EMPTY LINE BEFORE THE LOGS #ADDTOCHANGELOGMARKER# --> <!-- 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'>23 November 2013</h2>
<h3 class='author'>Ccomp5950 updated:</h3>
<ul class='changes bgimages16'>
<li class='bugfix'>Players are now no longer able to commit suicide with a lasertag gun, and will feel silly for doing so.</li>
<li class='bugfix'>Ghosts hit with the cult book shall now actually become visible.</li>
<li class='bugfix'>The powercells spawned with Exosuits will now properly be named to not confuse bearded roboticists.</li>
<li class='bugfix'>Blindfolded players will now no longer require eye surgery to repair their sight, removing the blindfold will be sufficient.</li>
<li class='rscadd'>Atmospheric Technicians will now have access to Exterior airlocks.</li>
</ul>
</div>
<div class='commit sansserif'> <div class='commit sansserif'>
<h2 class='date'>24 November 2013</h2> <h2 class='date'>24 November 2013</h2>