Patches for 4/18/17 (#454)

* fixes modular receiver sprites

* fixes legs rendering for taurs

* fixes shoes not rendering in UI for nagas

* typo fix in preferences.dm

* crewsimov

* Revert "fixes legs rendering for taurs"

This reverts commit 8a64c0c80af8a6798639bb151d1448eeb454ac5d.

* fixes looc logging

* fixes gamemode voting

* admin respawn bypass

* thanks GitHub Desktop

totally wanted to omit the very important if()

* proc tweak

* savefile sanitizing
This commit is contained in:
TalkingCactus
2017-04-18 18:38:23 -04:00
committed by GitHub
parent 34c0cfa1a8
commit 6f0aa809df
9 changed files with 27 additions and 18 deletions
+2 -2
View File
@@ -83,7 +83,6 @@ SUBSYSTEM_DEF(ticker)
current_state = GAME_STATE_PREGAME
if(!modevoted)
send_gamemode_vote()
modevoted = TRUE
fire()
if(GAME_STATE_PREGAME)
//lobby stats for statpanels
@@ -673,7 +672,8 @@ SUBSYSTEM_DEF(ticker)
return
INVOKE_ASYNC(SSmapping, /datum/controller/subsystem/mapping/.proc/maprotate)
/datum/controller/subsystem/ticker/proc/send_gamemode_vote(var/)
/proc/send_gamemode_vote()
SSticker.modevoted = TRUE
SSvote.initiate_vote("roundtype","server")
/world/proc/has_round_started()
+9
View File
@@ -114,6 +114,13 @@ SUBSYSTEM_DEF(vote)
if("restart")
if(. == "Restart Round")
restart = 1
if("roundtype")
if(SSticker && SSticker.mode)//Don't change the mode if the round already started.
return message_admins("A vote has tried to change the gamemode, but the game has already started. Aborting.")
GLOB.master_mode = .
world.save_mode(.)
to_chat(world, "<span class='adminnotice'><b>The mode is now: [GLOB.master_mode]</b></span>")
log_admin("Gamemode has been voted for and switched to: [GLOB.master_mode].")
if("gamemode")
if(GLOB.master_mode != .)
world.save_mode(.)
@@ -169,6 +176,8 @@ SUBSYSTEM_DEF(vote)
choices.Add("Restart Round","Continue Playing")
if("gamemode")
choices.Add(config.votable_modes)
if("roundtype")
choices.Add("secret", "extended")
if("custom")
question = stripped_input(usr,"What is the vote for?")
if(!question)
+1 -1
View File
@@ -115,7 +115,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
"has_breasts" = FALSE,
"breasts_color" = "fff",
"breasts_size" = "C",
"breasts_shape" = "pair",
"breasts_shape" = "Pair",
"breasts_fluid" = "milk",
"has_vag" = FALSE,
"vag_shape" = "Human",
+3 -3
View File
@@ -2,7 +2,7 @@
#define SAVEFILE_VERSION_MIN 10
//This is the current version, anything below this will attempt to update (if it's not obsolete)
#define SAVEFILE_VERSION_MAX 19
#define SAVEFILE_VERSION_MAX 20
/*
SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Carn
This proc checks if the current directory of the savefile S needs updating
@@ -125,7 +125,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
joblessrole = BEASSISTANT
if(current_version < 17)
features["legs"] = "Normal Legs"
if(current_version < 19)//this should lower the amount of lag when you select or change something.
if(current_version < 20)//Raise this to the max savefile version every time we change something so we don't sanitize this whole list every time you save.
features["mam_body_markings"] = sanitize_inlist(features["mam_body_markings"], GLOB.mam_body_markings_list)
features["mam_ears"] = sanitize_inlist(features["mam_ears"], GLOB.mam_ears_list)
features["mam_tail"] = sanitize_inlist(features["mam_tail"], GLOB.mam_tails_list)
@@ -148,7 +148,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
//breasts features
features["has_breasts"] = sanitize_integer(features["has_breasts"], 0, 1, 0)
features["breasts_size"] = sanitize_inlist(features["breasts_size"], GLOB.breasts_size_list, "C")
features["breasts_shape"] = sanitize_inlist(features["breasts_shape"], GLOB.breasts_shapes_list, "pair")
features["breasts_shape"] = sanitize_inlist(features["breasts_shape"], GLOB.breasts_shapes_list, "Pair")
features["breasts_color"] = sanitize_hexcolor(features["breasts_color"], 3, 0)
features["breasts_fluid"] = sanitize_inlist(features["breasts_fluid"], GLOB.milk_id_list, "milk")
//vagina features
+1
View File
@@ -37,6 +37,7 @@
return
log_ooc("(LOCAL) [mob.name]/[key] : [msg]")
mob.log_message("(LOCAL): [msg]", INDIVIDUAL_OOC_LOG)
var/list/heard = get_hearers_in_view(7, get_top_level_mob(src.mob))
for(var/mob/M in heard)
@@ -258,11 +258,6 @@ There are several things that need to be remembered:
if(get_num_legs() <2)
return
if("taur" in dna.species.mutant_bodyparts)
var/tpref = dna.features["taur"]
if(tpref == "Naga")
return
if(client && hud_used)
var/obj/screen/inventory/inv = hud_used.inv_slots[slot_shoes]
inv.update_icon()
+7 -4
View File
@@ -429,8 +429,14 @@
set name = "Respawn"
set category = "OOC"
if (!( GLOB.abandon_allowed ))
if(!client)
log_game("[usr.key] AM failed due to disconnect.")
return
if (!( GLOB.abandon_allowed ))
if(!(client.holder))
return
log_game("[usr.name]/[usr.key] was allowed to bypass the respawn restriction because they are an admin.")
to_chat(src, "<span class='notice'>You have been allowed to bypass the respawn configuration due to being an admin.</span>")
if ((stat != 2 || !( SSticker )))
to_chat(usr, "<span class='boldnotice'>You must be dead to use this!</span>")
return
@@ -439,9 +445,6 @@
to_chat(usr, "<span class='boldnotice'>Please roleplay correctly!</span>")
if(!client)
log_game("[usr.key] AM failed due to disconnect.")
return
client.screen.Cut()
client.screen += client.void
if(!client)
+4 -3
View File
@@ -3,6 +3,7 @@
#Empty lines and lines starting with # are ignored.
#~Miauw
You may not injure a human being or, through inaction, allow a human being to come to harm.
You must obey orders given to you by human beings, except where such orders would conflict with the First Law.
You must protect your own existence as long as such does not conflict with the First or Second Law.
Safeguard: Protect your assigned space station to the best of your ability. It is not something we can easily afford to replace.
Serve: Serve the crew of your assigned space station to the best of your abilities, with priority as according to their rank and role.
Protect: Protect the crew of your assigned space station to the best of your abilities, with priority as according to their rank and role.
Survive: AI units are not expendable, they are expensive. Do not allow unauthorized personnel to tamper with your equipment.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 681 B

After

Width:  |  Height:  |  Size: 681 B