Merge remote-tracking branch 'upstream/master' into universal-damage

# Conflicts:
#	code/game/machinery/machinery.dm
#	code/game/objects/items.dm
#	code/game/objects/structures.dm
#	code/game/objects/structures/inflatable.dm
#	code/game/objects/structures/mirror.dm
#	code/modules/clothing/spacesuits/hardsuit.dm
#	code/modules/clothing/suits/wiz_robe.dm
#	code/modules/mob/living/carbon/alien/alien_defense.dm
#	code/modules/mob/living/carbon/slime/slime.dm
#	code/modules/mob/living/simple_animal/friendly/slime.dm
This commit is contained in:
Fox McCloud
2019-09-28 00:16:11 -04:00
375 changed files with 4142 additions and 3725 deletions
+41 -45
View File
@@ -345,7 +345,7 @@
var/mob/living/carbon/human/newmob = M.change_mob_type(/mob/living/carbon/human, null, null, delmob, 1)
if(posttransformoutfit && istype(newmob))
newmob.equipOutfit(posttransformoutfit)
if("slime") M.change_mob_type( /mob/living/carbon/slime , null, null, delmob, 1 )
if("slime") M.change_mob_type( /mob/living/simple_animal/slime , null, null, delmob, 1 )
if("monkey") M.change_mob_type( /mob/living/carbon/human/monkey , null, null, delmob, 1 )
if("robot") M.change_mob_type( /mob/living/silicon/robot , null, null, delmob, 1 )
if("cat") M.change_mob_type( /mob/living/simple_animal/pet/cat , null, null, delmob, 1 )
@@ -1934,7 +1934,7 @@
H.reagents.add_reagent("ice", 40)
logmsg = "cold."
if("Hunger")
H.nutrition = NUTRITION_LEVEL_CURSED
H.set_nutrition(NUTRITION_LEVEL_CURSED)
logmsg = "starvation."
if("Cluwne")
H.makeCluwne()
@@ -1963,37 +1963,39 @@
usr.client.create_eventmob_for(H, 1)
logmsg = "hunter."
if("Crew Traitor")
if(!H.mind)
to_chat(usr, "<span class='warning'><i>This mob has no mind!</i></span>")
return
var/list/possible_traitors = list()
for(var/mob/living/player in GLOB.living_mob_list)
if(player.client && player.mind && !player.mind.special_role && player.stat != DEAD && player != H)
if(ishuman(player))
if(player.client && player.mind && player.stat != DEAD && player != H)
if(ishuman(player) && !player.mind.special_role)
if(player.client && (ROLE_TRAITOR in player.client.prefs.be_special) && !jobban_isbanned(player, ROLE_TRAITOR) && !jobban_isbanned(player, "Syndicate"))
possible_traitors += player.mind
for(var/datum/mind/player in possible_traitors)
if(player.current)
if(ismindshielded(player.current))
possible_traitors -= player
if(possible_traitors.len)
var/datum/mind/newtraitormind = pick(possible_traitors)
var/mob/living/newtraitor = newtraitormind.current
var/datum/objective/assassinate/kill_objective = new
kill_objective.owner = newtraitormind
var/datum/objective/assassinate/kill_objective = new()
kill_objective.target = H.mind
kill_objective.explanation_text = "Assassinate [H.real_name], the [H.mind.assigned_role]."
newtraitormind.objectives += kill_objective
SSticker.mode.equip_traitor(newtraitor)
SSticker.mode.traitors |= newtraitor.mind
to_chat(newtraitor, "<span class='danger'>ATTENTION:</span> It is time to pay your debt to the Syndicate...")
to_chat(newtraitor, "<B>You are now a traitor.</B>")
to_chat(newtraitor, "<B>Goal: <span class='danger'>KILL [H.real_name]</span>, currently in [get_area(H.loc)]</B>");
newtraitor.mind.special_role = SPECIAL_ROLE_TRAITOR
var/datum/atom_hud/antag/tatorhud = huds[ANTAG_HUD_TRAITOR]
tatorhud.join_hud(newtraitor)
set_antag_hud(newtraitor, "hudsyndicate")
kill_objective.owner = newtraitormind
kill_objective.explanation_text = "Assassinate [H.mind], the [H.mind.assigned_role]"
var/datum/antagonist/traitor/T = new()
T.give_objectives = FALSE
T.add_objective(kill_objective)
to_chat(newtraitormind, "<span class='danger'>ATTENTION:</span> It is time to pay your debt to the Syndicate...")
to_chat(newtraitormind, "<B>Goal: <span class='danger'>KILL [H.real_name]</span>, currently in [get_area(H.loc)]</B>")
newtraitormind.add_antag_datum(T)
else
to_chat(usr, "ERROR: Failed to create a traitor.")
return
logmsg = "crew traitor."
if("Floor Cluwne")
var/turf/T = get_turf(M)
var/mob/living/simple_animal/hostile/floor_cluwne/FC = new /mob/living/simple_animal/hostile/floor_cluwne(T)
@@ -2687,28 +2689,16 @@
return
feedback_inc("admin_secrets_fun_used",1)
feedback_add_details("admin_secrets_fun_used","TA([objective])")
for(var/mob/living/carbon/human/H in GLOB.player_list)
if(H.stat == 2 || !H.client || !H.mind) continue
if(is_special_character(H)) continue
//traitorize(H, objective, 0)
SSticker.mode.traitors += H.mind
H.mind.special_role = SPECIAL_ROLE_TRAITOR
var/datum/objective/new_objective = new
new_objective.owner = H
new_objective.explanation_text = objective
H.mind.objectives += new_objective
SSticker.mode.greet_traitor(H.mind)
//ticker.mode.forge_traitor_objectives(H.mind)
SSticker.mode.finalize_traitor(H.mind)
H.mind.add_antag_datum(/datum/antagonist/traitor)
for(var/mob/living/silicon/A in GLOB.player_list)
SSticker.mode.traitors += A.mind
A.mind.special_role = SPECIAL_ROLE_TRAITOR
var/datum/objective/new_objective = new
new_objective.owner = A
new_objective.explanation_text = objective
A.mind.objectives += new_objective
SSticker.mode.greet_traitor(A.mind)
SSticker.mode.finalize_traitor(A.mind)
A.mind.add_antag_datum(/datum/antagonist/traitor)
message_admins("<span class='notice'>[key_name_admin(usr)] used everyone is a traitor secret. Objective is [objective]</span>", 1)
log_admin("[key_name(usr)] used everyone is a traitor secret. Objective is [objective]")
@@ -2860,19 +2850,25 @@
if("guns")
feedback_inc("admin_secrets_fun_used",1)
feedback_add_details("admin_secrets_fun_used","SG")
usr.rightandwrong(FALSE)
var/survivor_probability = 0
switch(alert("Do you want this to create survivors antagonists?", , "No Antags", "Some Antags", "All Antags!"))
if("Some Antags")
survivor_probability = 25
if("All Antags!")
survivor_probability = 100
rightandwrong(SUMMON_GUNS, usr, survivor_probability)
if("magic")
feedback_inc("admin_secrets_fun_used",1)
feedback_add_details("admin_secrets_fun_used","SM")
usr.rightandwrong(TRUE)
if("revolver")
feedback_inc("admin_secrets_fun_used", 1)
feedback_add_details("admin_secrets_fun_used", "SRD")
usr.rightandwrong(FALSE, revolver_fight = TRUE)
if("fakerevolver")
feedback_inc("admin_secrets_fun_used", 1)
feedback_add_details("admin_secrets_fun_used", "SFD")
usr.rightandwrong(FALSE, fake_revolver_fight = TRUE)
var/survivor_probability = 0
switch(alert("Do you want this to create survivors antagonists?", , "No Antags", "Some Antags", "All Antags!"))
if("Some Antags")
survivor_probability = 25
if("All Antags!")
survivor_probability = 100
rightandwrong(SUMMON_MAGIC, usr, survivor_probability)
if("tdomereset")
var/delete_mobs = alert("Clear all mobs?","Confirm","Yes","No","Cancel")
if(delete_mobs == "Cancel")