Ghostspawner Conversion 2 (#10970)

This commit is contained in:
Geeves
2021-01-16 13:41:24 +02:00
committed by GitHub
parent 74982a3222
commit e2abfd7e23
17 changed files with 118 additions and 555 deletions
@@ -57,42 +57,10 @@
else
dat += "<a href='?src=\ref[src];add_special=[antag.role_type]'>Yes</a> / <b>No</b></br>"
dat += "</td></tr>"
var/list/ghost_traps = get_ghost_traps()
for(var/ghost_trap_key in ghost_traps)
var/datum/ghosttrap/ghost_trap = ghost_traps[ghost_trap_key]
if(!ghost_trap.list_as_special_role)
continue
dat += "<tr><td>[(ghost_trap.ghost_trap_role)]: </td><td>"
var/ban_state = banned_from_ghost_role(preference_mob(), ghost_trap)
if(ban_state == AGEBAN)
var/age_to_beat = 0
for (var/A in ghost_trap.ban_checks)
age_to_beat = player_old_enough_for_role(preference_mob(), A)
if (age_to_beat)
break
dat += "<span class='danger'>\[IN [age_to_beat] DAYS\]</span><br>"
else if (ban_state == RANBAN)
dat += "<span class='danger'>\[<a href='?src=\ref[user.client];view_jobban=[ghost_trap];'>BANNED</a>\]</span><br>"
else if(ghost_trap.pref_check in pref.be_special_role)
dat += "<b>Yes</b> / <a href='?src=\ref[src];del_special=[ghost_trap.pref_check]'>No</a></br>"
else
dat += "<a href='?src=\ref[src];add_special=[ghost_trap.pref_check]'>Yes</a> / <b>No</b></br>"
dat += "</td></tr>"
dat += "</table>"
. = dat.Join()
/datum/category_item/player_setup_item/proc/banned_from_ghost_role(var/mob, var/datum/ghosttrap/ghost_trap)
for(var/ban_type in ghost_trap.ban_checks)
. = jobban_isbanned(mob, ban_type)
if(. == "AGE WHITELISTED")
return AGEBAN
else if (.)
return RANBAN
return NOBAN
/datum/category_item/player_setup_item/antagonism/candidacy/OnTopic(var/href,var/list/href_list, var/mob/user)
if(href_list["add_special"])
if(!(href_list["add_special"] in valid_special_roles()))
@@ -112,13 +80,6 @@
var/datum/antagonist/antag = all_antag_types[antag_type]
private_valid_special_roles += antag.role_type
var/list/ghost_traps = get_ghost_traps()
for(var/ghost_trap_key in ghost_traps)
var/datum/ghosttrap/ghost_trap = ghost_traps[ghost_trap_key]
if(!ghost_trap.list_as_special_role)
continue
private_valid_special_roles += ghost_trap.pref_check
return private_valid_special_roles
#undef AGEBAN