mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-23 03:57:13 +01:00
Vox Fixes
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
..()
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user