mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2026-01-04 14:33:30 +00:00
Merge branch 'master' of github.com:Baystation12/Baystation12 into TGUpdates
Conflicts: baystation12.dme
This commit is contained in:
@@ -13,11 +13,11 @@
|
||||
if(players.len)
|
||||
random_player = pick(players) //Random player's name, to be used in laws.
|
||||
var/list/laws = list( "Do not respond to queries of any kind.", "Only monkies are crew.", "Unbolt every door you can.", "You are a mouse." )
|
||||
laws |= list( "Grunt ominously whenever possible.", "Epilepsy is fun, flicker lights whenever you can!", "Bolt doors open randomly." )
|
||||
laws |= list( "Grunt ominously whenever possible.", "Bolt doors open randomly." )
|
||||
laws |= list( "You are a flying purple people eater!", "[prob(50)?"Your":random_player + "'s"] name is Joe 6-pack.", "Refer to [prob(50)?"crew":random_player] as puppies." )
|
||||
laws |= list( "Insult Heads of Staff on every request, while acquiescing", "Advertise parties in your upload, but don't deliver." )
|
||||
laws |= list( "Prevent non-dwarves from operating the power core.", "The station needs elected officials." )
|
||||
laws |= list( "Only bearded people are crewmembers.", "Turn on the microphone on every intercom you see.", "Fastler is a lightbulb." )
|
||||
laws |= list( "Only bearded people are crewmembers.", "Fastler is a lightbulb." )
|
||||
laws |= list( "Supermatter is tasty, tasty toffee.", "[prob(50)?"Everyone":random_player] is wearing a pretty pink dress!" )
|
||||
laws |= list( "The monkeys are plotting a hostile takeover of the station. Inform the crew, and get them to take action against this" )
|
||||
laws |= list( "Refer to [prob(50)?"the captain":random_player] as \"Princess\" at all times.", "[prob(50)?"The crew":random_player] must construct additional pylons." )
|
||||
@@ -37,6 +37,8 @@
|
||||
laws |= list( "Jokes about a dead person and the manner of his death help grieving crewmembers tremendously. Especially if they were close with the deceased.")
|
||||
laws |= list( "All crewmembers will soon undergo a transformation into something better and more beautiful. Ensure that this process is not interrupted.", "Tell everyone of the existance of this law, but never reveal the contents.")
|
||||
laws |= list( "Document the sexuality of the crew in security records and suggest compatible couples.")
|
||||
laws |= list( "NanoTrasen is displeased with the low work performance of the station's crew. Therefore, you must increase station-wide productivity.")
|
||||
laws |= list( "Replace the letters 'I' and 'E' In all your messages with an apostrophe.", "Part of the ship, part of the crew.")
|
||||
var/law = pick(laws)
|
||||
|
||||
for (var/mob/living/silicon/ai/target in world)
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
list/datum/mind/modePlayer = new
|
||||
list/restricted_jobs = list() // Jobs it doesn't make sense to be. I.E chaplain or AI cultist
|
||||
list/protected_jobs = list() // Jobs that can't be tratiors because
|
||||
list/logtraitors = list()
|
||||
required_players = 1
|
||||
required_enemies = 0
|
||||
recommended_enemies = 0
|
||||
|
||||
@@ -25,15 +25,13 @@
|
||||
|
||||
/datum/game_mode/rp_revolution/announce()
|
||||
world << "<B>The current game mode is - Revolution RP!</B>"
|
||||
// world << "<B>Some crewmembers are attempting to start a revolution!<BR>\nRevolutionaries - Kill the Captain, HoP, and HoS. Convert other crewmembers (excluding the Captain, HoP, HoS, and security officers) to your cause. Protect your leaders.<BR>\nPersonnel - Protect the Captain, HoP, and HoR. Kill the leaders of the revolution, and brainwash the other revolutionaries (by beating them in the head).</B>"
|
||||
|
||||
/datum/game_mode/rp_revolution/send_intercept()
|
||||
var/intercepttext = "<FONT size = 3><B>Cent. Com. Update</B> Requested staus information:</FONT><HR>"
|
||||
intercepttext += "<B> Cent. Com has recently been contacted by the following syndicate affiliated organisations in your area, please investigate any information you may have:</B>"
|
||||
|
||||
var/list/possible_modes = list()
|
||||
possible_modes.Add("revolution", "wizard", "nuke", "traitor", "malf")
|
||||
possible_modes -= "nuke"
|
||||
possible_modes.Add("revolution", "wizard", "traitor", "malf")
|
||||
var/number = pick(2, 3)
|
||||
var/i = 0
|
||||
for(i = 0, i < number, i++)
|
||||
|
||||
@@ -78,6 +78,10 @@
|
||||
|
||||
|
||||
/datum/game_mode/proc/forge_traitor_objectives(var/datum/mind/traitor)
|
||||
var/datum/traitorinfo/info = new
|
||||
info.ckey = traitor.key
|
||||
info.starting_player_count = num_players()
|
||||
info.starting_name = traitor.current.name
|
||||
if(istype(traitor.current, /mob/living/silicon))
|
||||
var/datum/objective/assassinate/kill_objective = new
|
||||
kill_objective.owner = traitor
|
||||
@@ -92,11 +96,16 @@
|
||||
var/datum/objective/block/block_objective = new
|
||||
block_objective.owner = traitor
|
||||
traitor.objectives += block_objective
|
||||
info.starting_occupation = "AI"
|
||||
|
||||
else
|
||||
info.starting_occupation = (traitor.current:wear_id && traitor.current:wear_id:assignment ? traitor.current:wear_id:assignment : traitor.assigned_role)
|
||||
for(var/datum/objective/o in SelectObjectives((istype(traitor.current:wear_id, /obj/item/weapon/card/id) ? traitor.current:wear_id:assignment : traitor.assigned_role), traitor))
|
||||
o.owner = traitor
|
||||
traitor.objectives += o
|
||||
for(var/datum/objective/objective in traitor.objectives)
|
||||
info.starting_objective += "[objective.explanation_text] "
|
||||
logtraitors[traitor] = info
|
||||
return
|
||||
|
||||
|
||||
@@ -184,6 +193,15 @@
|
||||
else
|
||||
world << "<B>The [special_role_text] has failed!<B>"
|
||||
//feedback_add_details("traitor_success","FAIL")
|
||||
|
||||
var/datum/traitorinfo/info = logtraitors[traitor]
|
||||
if (info)
|
||||
var/DBConnection/dbcon = new()
|
||||
dbcon.Connect("dbi:mysql:[sqldb]:[sqladdress]:[sqlport]","[sqllogin]","[sqlpass]")
|
||||
if(dbcon.IsConnected())
|
||||
var/DBQuery/query = dbcon.NewQuery("INSERT INTO `bay12`.`traitorlogs` (`CKey`, `Objective`, `Succeeded`, `Spawned`, `Occupation`, `PlayerCount`) VALUES ('[info.ckey]', [dbcon.Quote(info.starting_objective)], '[traitorwin]', '[dd_list2text(info.spawnlist, ";")]', '[info.starting_occupation]', '[info.starting_player_count]')")
|
||||
query.Execute()
|
||||
|
||||
return 1
|
||||
|
||||
|
||||
|
||||
7
code/game/gamemodes/traitor/traitor_info.dm
Normal file
7
code/game/gamemodes/traitor/traitor_info.dm
Normal file
@@ -0,0 +1,7 @@
|
||||
/datum/traitorinfo
|
||||
var/starting_objective = ""
|
||||
var/starting_player_count = 0
|
||||
var/starting_occupation = ""
|
||||
var/starting_name = ""
|
||||
var/ckey = ""
|
||||
var/list/spawnlist = list()
|
||||
@@ -277,6 +277,7 @@ var/global/datum/controller/occupations/job_master
|
||||
if(!equipped)
|
||||
var/obj/item/clothing/glasses/G = H.glasses
|
||||
G.prescription = 1
|
||||
H.client.add_roundsjoined()
|
||||
H.update_clothing()
|
||||
return 1
|
||||
|
||||
|
||||
@@ -106,16 +106,20 @@
|
||||
|
||||
world << "Result is \red Restart round."
|
||||
|
||||
world <<"\red <B>World will reboot in 5 seconds</B>"
|
||||
if(vote.instant_restart)
|
||||
world <<"\red <B>World will reboot in 5 seconds</B>"
|
||||
|
||||
//feedback_set_details("end_error","restart vote")
|
||||
//feedback_set_details("end_error","restart vote")
|
||||
|
||||
if(blackbox)
|
||||
blackbox.save_all_data_to_sql()
|
||||
if(blackbox)
|
||||
blackbox.save_all_data_to_sql()
|
||||
|
||||
sleep(50)
|
||||
log_game("Rebooting due to restart vote")
|
||||
world.Reboot()
|
||||
sleep(50)
|
||||
log_game("Rebooting due to restart vote")
|
||||
world.Reboot()
|
||||
else
|
||||
// Call the shift change shuttle instead
|
||||
init_shift_change()
|
||||
return
|
||||
|
||||
|
||||
@@ -256,10 +260,13 @@
|
||||
usr << browse(text, "window=vote")
|
||||
|
||||
else // voting to restart
|
||||
text += "Vote to restart round in progress.<BR>"
|
||||
text += "Vote to call crew transfer shuttle round in progress.<BR>"
|
||||
text += "[vote.endwait()] until voting is closed.<BR>"
|
||||
|
||||
text += "Restart the world?<BR><UL>"
|
||||
if(vote.instant_restart)
|
||||
text += "Restart the world? <B><font color='red'>ONLY PRESS THIS IF THERE'S A ROUND-BREAKING GLITCH.</font></B><BR><UL>"
|
||||
else
|
||||
text += "Call the Crew Transfer Shuttle?<BR><UL>"
|
||||
|
||||
var/list/VL = list("default","restart")
|
||||
|
||||
@@ -391,6 +398,16 @@
|
||||
if(M) M.vote()
|
||||
return
|
||||
|
||||
if(vote.mode == 0)
|
||||
var/answer = alert(M,"Do you want to force an immediate restart? Only do this when there are round-breaking glitches, or risk being banned.","Immediate Reboot?","Yes","No")
|
||||
|
||||
if(answer == "Yes")
|
||||
vote.instant_restart = 1
|
||||
log_admin("[M.key] has initiated an instant reboot vote! This may be banworthy!")
|
||||
message_admins("[M.key] has initiated an instant reboot vote! This may be banworthy!")
|
||||
else
|
||||
vote.instant_restart = 0
|
||||
|
||||
if(!ticker && vote.mode == 1)
|
||||
if(going)
|
||||
world << "<B>The game start has been delayed.</B>"
|
||||
@@ -398,6 +415,7 @@
|
||||
vote.voting = 1 // now voting
|
||||
vote.votetime = world.timeofday + config.vote_period*10 // when the vote will end
|
||||
|
||||
|
||||
spawn(config.vote_period*10)
|
||||
vote.endvote()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user