Vox Fixes

This commit is contained in:
ZomgPonies
2013-10-20 00:41:03 -04:00
parent 3675298ebf
commit 9235bbd222
4 changed files with 85 additions and 3 deletions
+29
View File
@@ -94,6 +94,7 @@ VOX HEIST ROUNDTYPE
vox.real_name = capitalize(newname)
vox.name = vox.real_name
raider.name = vox.name
vox.age = rand(12,20)
vox.dna.mutantrace = "vox"
vox.set_species("Vox")
@@ -232,6 +233,34 @@ VOX HEIST ROUNDTYPE
..()
datum/game_mode/proc/auto_declare_completion_heist()
if(raiders.len)
var/check_return = 0
if(ticker && istype(ticker.mode,/datum/game_mode/vox/heist))
check_return = 1
var/text = "<FONT size = 2><B>The vox raiders were:</B></FONT>"
for(var/datum/mind/vox in raiders)
text += "<br>[vox.key] was [vox.name] ("
if(check_return)
var/obj/stack = raiders[vox]
if(get_area(stack) != locate(/area/shuttle/vox/station))
text += "left behind)"
continue
if(vox.current)
if(vox.current.stat == DEAD)
text += "died"
else
text += "survived"
if(vox.current.real_name != vox.name)
text += " as [vox.current.real_name]"
else
text += "body destroyed"
text += ")"
world << text
return 1
/datum/game_mode/vox/heist/check_finished()
if (!(is_vox_crew_alive()) || (vox_shuttle_location && (vox_shuttle_location == "start")))
return 1
+29
View File
@@ -94,6 +94,7 @@ VOX TRADE ROUNDTYPE
vox.real_name = capitalize(newname)
vox.name = vox.real_name
trader.name = vox.name
vox.age = rand(12,20)
vox.dna.mutantrace = "vox"
vox.set_species("Vox")
@@ -208,6 +209,34 @@ VOX TRADE ROUNDTYPE
..()
datum/game_mode/proc/auto_declare_completion_trade()
if(traders.len)
var/check_return = 0
if(ticker && istype(ticker.mode,/datum/game_mode/vox/trade))
check_return = 1
var/text = "<FONT size = 2><B>The vox traders were:</B></FONT>"
for(var/datum/mind/vox in traders)
text += "<br>[vox.key] was [vox.name] ("
if(check_return)
var/obj/stack = traders[vox]
if(get_area(stack) != locate(/area/shuttle/vox/station))
text += "left behind)"
continue
if(vox.current)
if(vox.current.stat == DEAD)
text += "died"
else
text += "survived"
if(vox.current.real_name != vox.name)
text += " as [vox.current.real_name]"
else
text += "body destroyed"
text += ")"
world << text
return 1
/datum/game_mode/vox/trade/check_finished()
if (!(is_vox_crew_alive()) || (vox_shuttle_location && (vox_shuttle_location == "start")))
return 1
+23 -2
View File
@@ -196,7 +196,7 @@
/obj/item/weapon/card/id/syndicate
name = "agent card"
access = list(access_maint_tunnels, access_syndicate, access_external_airlocks)
access = list(access_maint_tunnels, access_syndicate)
origin_tech = "syndicate=3"
/obj/item/weapon/card/id/syndicate/afterattack(var/obj/item/weapon/O as obj, mob/user as mob, proximity)
@@ -208,7 +208,7 @@
if(user.mind.special_role)
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)
if(!src.registered_name)
//Stop giving the players unsanitized unputs! You are giving ways for players to intentionally crash clients! -Nodrak
@@ -226,6 +226,27 @@
src.assignment = u
src.name = "[src.registered_name]'s ID Card ([src.assignment])"
user << "\blue You successfully forge the ID card."
registered_user = user
else if(registered_user == user)
switch(alert("Would you like to display the ID, or retitle it?","Choose.","Rename","Show"))
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)
if(!t || t == "Unknown" || t == "floor" || t == "wall" || t == "r-wall") //Same as mob/new_player/prefrences.dm
alert("Invalid name.")
return
src.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.")
src.registered_name = ""
return
src.assignment = u
src.name = "[src.registered_name]'s ID Card ([src.assignment])"
user << "\blue You successfully forge the ID card."
return
if("Show")
..()
else
..()
+4 -1
View File
@@ -60,9 +60,10 @@ var/global/vox_tick = 1
var/obj/item/weapon/card/id/syndicate/W = new(src)
W.name = "[real_name]'s Legitimate Human ID Card"
W.icon_state = "id"
W.access = list(access_cent_general, access_cent_specops, access_cent_living, access_cent_storage, access_syndicate)
W.access = list(access_syndicate)
W.assignment = "Trader"
W.registered_name = real_name
W.registered_user = src
equip_to_slot_or_del(W, slot_wear_id)
var/obj/item/weapon/implant/cortical/I = new(src)
@@ -75,9 +76,11 @@ var/global/vox_tick = 1
if(ticker.mode && ( istype(ticker.mode,/datum/game_mode/vox/heist) ) )
var/datum/game_mode/vox/heist/M = ticker.mode
M.cortical_stacks += I
M.raiders[mind] = I
else if(ticker.mode && ( istype(ticker.mode,/datum/game_mode/vox/trade) ) )
var/datum/game_mode/vox/trade/M = ticker.mode
M.cortical_stacks += I
M.traders[mind] = I
vox_tick++
if (vox_tick > 4) vox_tick = 1