mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-12 08:36:00 +01:00
Datum-Based Gangs
This commit is contained in:
@@ -387,32 +387,16 @@
|
||||
dat += "<tr><td><i>Head not found!</i></td></tr>"
|
||||
dat += "</table>"
|
||||
|
||||
if(ticker.mode.A_bosses.len || ticker.mode.A_gang.len)
|
||||
dat += "<br><table cellspacing=5><tr><td><B>[gang_name("A")] Gang: [(ticker.mode.gang_points ? "[ticker.mode.gang_points.A] Influence, " : "")][round((ticker.mode.A_territory.len/start_state.num_territories)*100, 1)]% Control</B></td><td></td></tr>"
|
||||
for(var/datum/mind/N in ticker.mode.A_bosses)
|
||||
for(var/datum/gang/G in ticker.mode.gangs)
|
||||
dat += "<br><table cellspacing=5><tr><td><B>[G.name] Gang: <a href='?_src_=holder;gangpoints=\ref[G]'>[G.points] Influence</a> | [round((G.territory.len/start_state.num_territories)*100, 1)]% Control</B></td><td></td></tr>"
|
||||
for(var/datum/mind/N in G.bosses)
|
||||
var/mob/M = N.current
|
||||
if(!M)
|
||||
dat += "<tr><td><i>Gang Boss not found!</i></td></tr>"
|
||||
else
|
||||
dat += "<tr><td><a href='?_src_=holder;adminplayeropts=\ref[M]'>[M.real_name]</a> <b>(Boss)</b>[M.client ? "" : " <i>(ghost)</i>"][M.stat == 2 ? " <b><font color=red>(DEAD)</font></b>" : ""]</td>"
|
||||
dat += "<td><A href='?priv_msg=[M.ckey]'>PM</A></td></tr>"
|
||||
for(var/datum/mind/N in ticker.mode.A_gang)
|
||||
var/mob/M = N.current
|
||||
if(M)
|
||||
dat += "<tr><td><a href='?_src_=holder;adminplayeropts=\ref[M]'>[M.real_name]</a>[M.client ? "" : " <i>(ghost)</i>"][M.stat == 2 ? " <b><font color=red>(DEAD)</font></b>" : ""]</td>"
|
||||
dat += "<td><A href='?priv_msg=[M.ckey]'>PM</A></td></tr>"
|
||||
dat += "</table>"
|
||||
|
||||
if(ticker.mode.B_bosses.len || ticker.mode.B_gang.len)
|
||||
dat += "<br><table cellspacing=5><tr><td><B>[gang_name("B")] Gang: [(ticker.mode.gang_points ? "[ticker.mode.gang_points.B] Influence, " : "")][round((ticker.mode.B_territory.len/start_state.num_territories)*100, 1)]% Control</B></td><td></td></tr>"
|
||||
for(var/datum/mind/N in ticker.mode.B_bosses)
|
||||
var/mob/M = N.current
|
||||
if(!M)
|
||||
dat += "<tr><td><i>Gang Boss not found!</i></td></tr>"
|
||||
else
|
||||
dat += "<tr><td><a href='?_src_=holder;adminplayeropts=\ref[M]'>[M.real_name]</a> <b>(Boss)</b>[M.client ? "" : " <i>(ghost)</i>"][M.stat == 2 ? " <b><font color=red>(DEAD)</font></b>" : ""]</td>"
|
||||
dat += "<td><A href='?priv_msg=[M.ckey]'>PM</A></td></tr>"
|
||||
for(var/datum/mind/N in ticker.mode.B_gang)
|
||||
for(var/datum/mind/N in G.gangsters)
|
||||
var/mob/M = N.current
|
||||
if(M)
|
||||
dat += "<tr><td><a href='?_src_=holder;adminplayeropts=\ref[M]'>[M.real_name]</a>[M.client ? "" : " <i>(ghost)</i>"][M.stat == 2 ? " <b><font color=red>(DEAD)</font></b>" : ""]</td>"
|
||||
|
||||
@@ -103,11 +103,11 @@
|
||||
new/datum/round_event/blob(strength)
|
||||
if("12")
|
||||
if(src.makeGangsters())
|
||||
message_admins("[key_name(usr)] started a gang war.")
|
||||
log_admin("[key_name(usr)] started a gang war.")
|
||||
message_admins("[key_name(usr)] created gangs.")
|
||||
log_admin("[key_name(usr)] created gangs.")
|
||||
else
|
||||
message_admins("[key_name(usr)] tried to start a gang war. Unfortunately, there were not enough candidates available.")
|
||||
log_admin("[key_name(usr)] failed to start a gang war.")
|
||||
message_admins("[key_name(usr)] tried to create gangs. Unfortunately, there were not enough candidates available.")
|
||||
log_admin("[key_name(usr)] failed create gangs.")
|
||||
if("13")
|
||||
message_admins("[key_name(usr)] is creating a Centcom response team...")
|
||||
if(src.makeEmergencyresponseteam())
|
||||
@@ -1491,6 +1491,16 @@
|
||||
|
||||
usr.client.cmd_admin_animalize(M)
|
||||
|
||||
else if(href_list["gangpoints"])
|
||||
var/datum/gang/G = locate(href_list["gangpoints"]) in ticker.mode.gangs
|
||||
if(G)
|
||||
var/newpoints = input("Set [G.name ] Gang's influence.","Set Influence",G.points) as null|num
|
||||
if(newpoints)
|
||||
message_admins("[key_name_admin(usr)] changed the [G.name] Gang's influence from [G.points] to [newpoints]</span>")
|
||||
log_admin("[key_name(usr)] changed the [G.name] Gang's influence from [G.points] to [newpoints]</span>")
|
||||
G.points = newpoints
|
||||
G.message_gangtools("Your gang now has [G.points] influence.")
|
||||
|
||||
else if(href_list["adminplayeropts"])
|
||||
var/mob/M = locate(href_list["adminplayeropts"])
|
||||
show_player_panel(M)
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
/datum/admins/proc/one_click_antag()
|
||||
|
||||
var/dat = {"<B>Quick-Create Antagonist</B><br>
|
||||
var/dat = {"
|
||||
<a href='?src=\ref[src];makeAntag=1'>Make Traitors</a><br>
|
||||
<a href='?src=\ref[src];makeAntag=2'>Make Changelings</a><br>
|
||||
<a href='?src=\ref[src];makeAntag=3'>Make Revs</a><br>
|
||||
@@ -25,17 +25,10 @@
|
||||
<a href='?src=\ref[src];makeAntag=14'>Make Abductor Team (Requires Ghosts)</a><br>
|
||||
<a href='?src=\ref[src];makeAntag=15'>Make Revenant (Requires Ghost)</a><br>
|
||||
"}
|
||||
/* These dont work just yet
|
||||
Ninja, aliens and deathsquad I have not looked into yet
|
||||
Nuke team is getting a null mob returned from makebody() (runtime error: null.mind. Line 272)
|
||||
|
||||
|
||||
<a href='?src=\ref[src];makeAntag=8'>Make Space Ninja (Requires Ghosts)</a><br>
|
||||
<a href='?src=\ref[src];makeAntag=9'>Make Aliens (Requires Ghosts)</a><br>
|
||||
"}
|
||||
*/
|
||||
usr << browse(dat, "window=oneclickantag;size=400x400")
|
||||
return
|
||||
var/datum/browser/popup = new(usr, "oneclickantag", "Quick-Create Antagonist", 400, 400)
|
||||
popup.set_content(dat)
|
||||
popup.open()
|
||||
|
||||
|
||||
/datum/admins/proc/makeMalfAImode()
|
||||
@@ -404,15 +397,20 @@
|
||||
candidates += applicant
|
||||
|
||||
if(candidates.len >= 2)
|
||||
H = pick(candidates)
|
||||
H.mind.make_Gang("A")
|
||||
candidates.Remove(H)
|
||||
H = pick(candidates)
|
||||
H.mind.make_Gang("B")
|
||||
for(var/needs_assigned=2,needs_assigned>0,needs_assigned--)
|
||||
H = pick(candidates)
|
||||
if(gang_colors_pool)
|
||||
var/datum/gang/newgang = new()
|
||||
ticker.mode.gangs += newgang
|
||||
H.mind.make_Gang(newgang)
|
||||
candidates.Remove(H)
|
||||
else if(needs_assigned == 2)
|
||||
return 0
|
||||
return 1
|
||||
|
||||
return 0
|
||||
|
||||
|
||||
/datum/admins/proc/makeOfficial()
|
||||
var/mission = input("Assign a task for the official", "Assign Task", "Conduct a routine preformance review of [station_name()] and its Captain.")
|
||||
var/list/mob/dead/observer/candidates = getCandidates("Do you wish to be considered to be a Centcom Official?", "pAI")
|
||||
|
||||
Reference in New Issue
Block a user