From cff0528673dcab2c760b9ad1a67fd6629875bfde Mon Sep 17 00:00:00 2001 From: Markolie Date: Tue, 8 Nov 2016 16:23:13 +0100 Subject: [PATCH 01/21] Verb category changes, telecoms verb fix --- code/game/gamemodes/cult/ritual.dm | 9 ++++++++- code/game/gamemodes/gameticker.dm | 2 +- code/modules/admin/admin.dm | 4 ++-- code/modules/admin/admin_verbs.dm | 2 +- code/modules/admin/buildmode.dm | 3 ++- code/modules/admin/verbs/adminsay.dm | 4 ++-- code/modules/admin/verbs/deadsay.dm | 2 +- code/modules/admin/verbs/freeze.dm | 23 +++++++++++++---------- code/modules/admin/verbs/randomverbs.dm | 18 +++++++++--------- code/modules/karma/karma.dm | 6 +++--- 10 files changed, 42 insertions(+), 31 deletions(-) diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm index e60b7406675..ab25f22a8fd 100644 --- a/code/game/gamemodes/cult/ritual.dm +++ b/code/game/gamemodes/cult/ritual.dm @@ -6,13 +6,20 @@ var/runedec = 0 var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology", "self", "see", "other", "hide") /client/proc/check_words() // -- Urist - set category = "Special Verbs" + set category = "Admin" set name = "Check Rune Words" set desc = "Check the rune-word meaning" + + if(!check_rights(R_ADMIN)) + return + if(!cultwords["travel"]) runerandom() for(var/word in engwords) to_chat(usr, "[cultwords[word]] is [word]") + + log_and_message_admins("checked the rune words.") + feedback_add_details("admin_verb","CRW") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /proc/runerandom() //randomizes word meaning var/list/runewords=list("ire","ego","nahlizet","certum","veri","jatkaa","mgar","balaq", "karazet", "geeri") ///"orkan" and "allaq" removed. diff --git a/code/game/gamemodes/gameticker.dm b/code/game/gamemodes/gameticker.dm index 5deb2bafa0f..328facd08c6 100644 --- a/code/game/gamemodes/gameticker.dm +++ b/code/game/gamemodes/gameticker.dm @@ -414,7 +414,7 @@ var/round_start_time = 0 var/dat dat += {"Karma Reminder

Karma Reminder


You have not yet spent your karma for the round, surely there is a player who was worthy of receiving
- your reward? Look under 'Special Verbs' for the 'Award Karma' button, and use it once a round for best results!"} + your reward? Look under 'OOC' for the 'Award Karma' button, and use it once a round for best results!"} player << browse(dat, "window=karmareminder;size=400x300") diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index dcbb5c74c4d..6f1d4dc65a8 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -540,9 +540,9 @@ var/global/nologevent = 0 world.Reboot("Initiated by [usr.client.holder.fakekey ? "Admin" : usr.key].", "end_error", "admin reboot - by [usr.key] [usr.client.holder.fakekey ? "(stealth)" : ""]", delay) /datum/admins/proc/announce() - set category = "Special Verbs" + set category = "Admin" set name = "Announce" - set desc="Announce your desires to the world" + set desc = "Announce your desires to the world" if(!check_rights(R_ADMIN)) return diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm index fda1382d4df..ba46a995ffd 100644 --- a/code/modules/admin/admin_verbs.dm +++ b/code/modules/admin/admin_verbs.dm @@ -534,7 +534,7 @@ var/list/admin_verbs_snpc = list( #undef AUTOBANTIME /client/proc/drop_bomb() // Some admin dickery that can probably be done better -- TLE - set category = "Special Verbs" + set category = "Event" set name = "Drop Bomb" set desc = "Cause an explosion of varying strength at your location." diff --git a/code/modules/admin/buildmode.dm b/code/modules/admin/buildmode.dm index 87721320af5..8ad4bfcbb0e 100644 --- a/code/modules/admin/buildmode.dm +++ b/code/modules/admin/buildmode.dm @@ -396,7 +396,8 @@ /proc/togglebuildmode(mob/M as mob in player_list) set name = "Toggle Build Mode" - set category = "Special Verbs" + set category = "Event" + if(M.client) if(istype(M.client.click_intercept,/datum/click_intercept/buildmode)) var/datum/click_intercept/buildmode/B = M.client.click_intercept diff --git a/code/modules/admin/verbs/adminsay.dm b/code/modules/admin/verbs/adminsay.dm index 67130872222..7c7569e5907 100644 --- a/code/modules/admin/verbs/adminsay.dm +++ b/code/modules/admin/verbs/adminsay.dm @@ -1,5 +1,5 @@ /client/proc/cmd_admin_say(msg as text) - set category = "Special Verbs" + set category = "Admin" set name = "Asay" //Gave this shit a shorter name so you only have to time out "asay" rather than "admin say" to use it --NeoFite set hidden = 1 if(!check_rights(R_ADMIN)) return @@ -17,7 +17,7 @@ feedback_add_details("admin_verb","M") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_mentor_say(msg as text) - set category = "Special Verbs" + set category = "Admin" set name = "Msay" set hidden = 1 diff --git a/code/modules/admin/verbs/deadsay.dm b/code/modules/admin/verbs/deadsay.dm index 690cac87536..3874e26e9de 100644 --- a/code/modules/admin/verbs/deadsay.dm +++ b/code/modules/admin/verbs/deadsay.dm @@ -1,5 +1,5 @@ /client/proc/dsay(msg as text) - set category = "Special Verbs" + set category = "Admin" set name = "Dsay" //Gave this shit a shorter name so you only have to time out "dsay" rather than "dead say" to use it --NeoFite set hidden = 1 diff --git a/code/modules/admin/verbs/freeze.dm b/code/modules/admin/verbs/freeze.dm index fb93cd3512d..b0c63544634 100644 --- a/code/modules/admin/verbs/freeze.dm +++ b/code/modules/admin/verbs/freeze.dm @@ -7,13 +7,15 @@ //////////////////////////////////////////////////////////////////////////////// var/global/list/frozen_mob_list = list() /client/proc/freeze(var/mob/living/M as mob in mob_list) - set category = "Special Verbs" + set category = "Admin" set name = "Freeze" - if(!holder) - to_chat(src, "Error: Freeze: Only administrators may use this command.") + + if(!check_rights(R_ADMIN)) return - if(!istype(M)) return - if(!check_rights(R_ADMIN)) return + + if(!istype(M)) + return + if(M in frozen_mob_list) M.admin_unFreeze(src) else @@ -83,14 +85,15 @@ var/global/list/frozen_mob_list = list() //////////////////////////Freeze Mech /client/proc/freezemecha(var/obj/mecha/O as obj in mechas_list) - set category = "Special Verbs" + set category = "Admin" set name = "Freeze Mech" - if(!holder) - to_chat(src, "Only administrators may use this command.") - return + + if(!check_rights(R_ADMIN)) + return + var/obj/mecha/M = O if(!istype(M,/obj/mecha)) - to_chat(src, "This can only be used on Mechs!") + to_chat(src, "This can only be used on mechs!") return else if(usr) diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index b776eb9a649..79ee34fb635 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -139,7 +139,7 @@ feedback_add_details("admin_verb","DIRN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_admin_godmode(mob/M as mob in mob_list) - set category = "Special Verbs" + set category = "Admin" set name = "Godmode" if(!check_rights(R_ADMIN)) @@ -287,7 +287,7 @@ Works kind of like entering the game with a new character. Character receives a Traitors and the like can also be revived with the previous role mostly intact. /N */ /client/proc/respawn_character() - set category = "Special Verbs" + set category = "Event" set name = "Respawn Character" set desc = "Respawn a person that has been gibbed/dusted/killed. They must be a ghost for this to work and preferably should not have a body to go back into." @@ -520,7 +520,7 @@ Traitors and the like can also be revived with the previous role mostly intact. feedback_add_details("admin_verb","IONC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_admin_rejuvenate(mob/living/M as mob in mob_list) - set category = "Special Verbs" + set category = "Event" set name = "Rejuvenate" if(!check_rights(R_REJUVINATE)) @@ -659,7 +659,7 @@ Traitors and the like can also be revived with the previous role mostly intact. return /client/proc/cmd_admin_emp(atom/O as obj|mob|turf in view()) - set category = "Special Verbs" + set category = "Event" set name = "EM Pulse" if(!check_rights(R_DEBUG|R_EVENT)) @@ -682,7 +682,7 @@ Traitors and the like can also be revived with the previous role mostly intact. return /client/proc/cmd_admin_gib(mob/M as mob in mob_list) - set category = "Special Verbs" + set category = "Admin" set name = "Gib" if(!check_rights(R_ADMIN|R_EVENT)) @@ -722,7 +722,7 @@ Traitors and the like can also be revived with the previous role mostly intact. feedback_add_details("admin_verb","GIBS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/cmd_admin_check_contents(mob/living/M as mob in mob_list) - set category = "Special Verbs" + set category = "Admin" set name = "Check Contents" if(!check_rights(R_ADMIN)) @@ -734,7 +734,7 @@ Traitors and the like can also be revived with the previous role mostly intact. feedback_add_details("admin_verb","CC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/toggle_view_range() - set category = "Special Verbs" + set category = "Admin" set name = "Change View Range" set desc = "switches between 1x and custom views" @@ -806,7 +806,7 @@ Traitors and the like can also be revived with the previous role mostly intact. message_admins("[key_name_admin(usr)] has [shuttle_master.emergencyNoEscape ? "denied" : "allowed"] the shuttle to be called.") /client/proc/cmd_admin_attack_log(mob/M as mob in mob_list) - set category = "Special Verbs" + set category = "Admin" set name = "Attack Log" if(!check_rights(R_ADMIN)) @@ -875,7 +875,7 @@ Traitors and the like can also be revived with the previous role mostly intact. set name = "Reset Telecomms Scripts" set desc = "Blanks all telecomms scripts from all telecomms servers" - if(!check_rights(R_ADMIN, 1, src)) + if(!check_rights(R_ADMIN)) return var/confirm = alert(src, "You sure you want to blank all NTSL scripts?", "Confirm", "Yes", "No") diff --git a/code/modules/karma/karma.dm b/code/modules/karma/karma.dm index e8c047c98bc..d1f3f5d98c3 100644 --- a/code/modules/karma/karma.dm +++ b/code/modules/karma/karma.dm @@ -84,7 +84,7 @@ var/list/karma_spenders = list() /mob/verb/spend_karma_list() set name = "Award Karma" set desc = "Let the gods know whether someone's been nice. Can only be used once per round." - set category = "Special Verbs" + set category = "OOC" if(!can_give_karma()) return @@ -113,7 +113,7 @@ var/list/karma_spenders = list() /mob/verb/spend_karma(var/mob/M) set name = "Award Karma to Player" set desc = "Let the gods know whether someone's been nice. Can only be used once per round." - set category = "Special Verbs" + set category = "OOC" if(!M) to_chat(usr, "Please right click a mob to award karma directly, or use the 'Award Karma' verb to select a player from the player listing.") @@ -144,7 +144,7 @@ var/list/karma_spenders = list() /client/verb/check_karma() set name = "Check Karma" - set category = "Special Verbs" + set category = "OOC" set desc = "Reports how much karma you have accrued." var/currentkarma=verify_karma() From 42dd03b2cf97ea18e65064d35ca23f8f34d37da6 Mon Sep 17 00:00:00 2001 From: Markolie Date: Tue, 8 Nov 2016 16:31:48 +0100 Subject: [PATCH 02/21] Fix up buildmode log --- code/modules/admin/buildmode.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/admin/buildmode.dm b/code/modules/admin/buildmode.dm index 8ad4bfcbb0e..72461ed6ae1 100644 --- a/code/modules/admin/buildmode.dm +++ b/code/modules/admin/buildmode.dm @@ -405,7 +405,7 @@ log_admin("[key_name(usr)] has left build mode.") else new/datum/click_intercept/buildmode(M.client) - message_admins("[key_name(usr)] has entered build mode.") + message_admins("[key_name_admin(usr)] has entered build mode.") log_admin("[key_name(usr)] has entered build mode.") /datum/click_intercept/buildmode/InterceptClickOn(user,params,atom/object) //Click Intercept From 3437ea0e579699d2503e1f983783c95b4b3d00a2 Mon Sep 17 00:00:00 2001 From: Markolie Date: Wed, 30 Nov 2016 22:18:16 +0100 Subject: [PATCH 03/21] Move karma to own tab --- code/modules/karma/karma.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/karma/karma.dm b/code/modules/karma/karma.dm index d1f3f5d98c3..bbb663064fe 100644 --- a/code/modules/karma/karma.dm +++ b/code/modules/karma/karma.dm @@ -84,7 +84,7 @@ var/list/karma_spenders = list() /mob/verb/spend_karma_list() set name = "Award Karma" set desc = "Let the gods know whether someone's been nice. Can only be used once per round." - set category = "OOC" + set category = "Karma" if(!can_give_karma()) return @@ -113,7 +113,7 @@ var/list/karma_spenders = list() /mob/verb/spend_karma(var/mob/M) set name = "Award Karma to Player" set desc = "Let the gods know whether someone's been nice. Can only be used once per round." - set category = "OOC" + set category = "Karma" if(!M) to_chat(usr, "Please right click a mob to award karma directly, or use the 'Award Karma' verb to select a player from the player listing.") @@ -144,8 +144,8 @@ var/list/karma_spenders = list() /client/verb/check_karma() set name = "Check Karma" - set category = "OOC" set desc = "Reports how much karma you have accrued." + set category = "Karma" var/currentkarma=verify_karma() to_chat(usr, {"
You have [currentkarma] available."}) From 945225b6e8e95801ae382da6ccf8ddd508c9a09c Mon Sep 17 00:00:00 2001 From: Kyep Date: Sat, 3 Dec 2016 06:24:47 -0800 Subject: [PATCH 04/21] Runtime & bug fixes - Fixes a runtime in preferences.dm created by the Patreon PRs, triggered when an ERT, SIT, or any other clientless mob uses "var/datum/preferences/A = new()". - Fixes a bug where, if a SIT is spawned with the 'choose manually' option, one fewer person than intended is pulled in. - Fixes syndicate headset not being included in the SIT member's notes. - Deletes commented code. --- .../admin/verbs/infiltratorteam_syndicate.dm | 17 ++++++----------- code/modules/client/preference/preferences.dm | 7 +++---- 2 files changed, 9 insertions(+), 15 deletions(-) diff --git a/code/modules/admin/verbs/infiltratorteam_syndicate.dm b/code/modules/admin/verbs/infiltratorteam_syndicate.dm index e49a2f72939..86a899ab847 100644 --- a/code/modules/admin/verbs/infiltratorteam_syndicate.dm +++ b/code/modules/admin/verbs/infiltratorteam_syndicate.dm @@ -21,8 +21,8 @@ var/global/sent_syndicate_infiltration_team = 0 var/pick_manually = 0 if(alert("Pick the team members manually? If you select yes, you pick from ghosts. If you select no, ghosts get offered the chance to join.",,"Yes","No")=="Yes") pick_manually = 1 - var/list/teamsizeoptions = list(1,2,3,4,5) - var/teamsize = input(src, "How many team members, not counting the team leader?") as null|anything in teamsizeoptions + var/list/teamsizeoptions = list(2,3,4,5,6) + var/teamsize = input(src, "How many team members, including the team leader?") as null|anything in teamsizeoptions if(!(teamsize in teamsizeoptions)) alert("Invalid team size specified. Aborting.") return @@ -102,11 +102,11 @@ var/global/sent_syndicate_infiltration_team = 0 to_chat(new_syndicate_infiltrator, "As team leader, it is up to you to organize your team! Give the job to someone else if you can't handle it. Only your ID opens the exit door.") else to_chat(new_syndicate_infiltrator, "Your team leader is: [team_leader]. They are in charge!") - teamsize-- + teamsize-- to_chat(new_syndicate_infiltrator, "You have more helpful information stored in your Notes.") new_syndicate_infiltrator.mind.store_memory("Mission: [input] ") new_syndicate_infiltrator.mind.store_memory("Team Leader: [team_leader] ") - new_syndicate_infiltrator.mind.store_memory("Starting Equipment:
- Chameleon Jumpsuit ((right click to Change Color))
- Agent ID card ((disguise as another job))
- Uplink Implant ((top left of screen))
- Dust Implant ((destroys your body on death))
- Combat Gloves ((insulated, disguised as black gloves))
- Anything bought with your uplink implant") + new_syndicate_infiltrator.mind.store_memory("Starting Equipment:
- Syndicate Headset ((.h for your radio))
- Chameleon Jumpsuit ((right click to Change Color))
- Agent ID card ((disguise as another job))
- Uplink Implant ((top left of screen))
- Dust Implant ((destroys your body on death))
- Combat Gloves ((insulated, disguised as black gloves))
- Anything bought with your uplink implant") var/datum/atom_hud/antag/opshud = huds[ANTAG_HUD_OPS] opshud.join_hud(new_syndicate_infiltrator.mind.current) ticker.mode.set_antag_hud(new_syndicate_infiltrator.mind.current, "hudoperative") @@ -145,8 +145,7 @@ var/global/sent_syndicate_infiltration_team = 0 var/datum/preferences/A = new() //Randomize appearance A.real_name = syndicate_infiltrator_name A.copy_to(new_syndicate_infiltrator) - - new_syndicate_infiltrator.dna.ready_dna(new_syndicate_infiltrator) //Creates DNA. + new_syndicate_infiltrator.dna.ready_dna(new_syndicate_infiltrator) //Creates mind stuff. new_syndicate_infiltrator.mind_initialize() @@ -154,7 +153,6 @@ var/global/sent_syndicate_infiltration_team = 0 new_syndicate_infiltrator.mind.special_role = "Syndicate Infiltrator" ticker.mode.traitors |= new_syndicate_infiltrator.mind //Adds them to extra antag list new_syndicate_infiltrator.equip_syndicate_infiltrator(syndicate_leader_selected, uplink_tc, is_mgmt) - qdel(spawn_location) return new_syndicate_infiltrator // --------------------------------------------------------------------------------------------------------- @@ -180,9 +178,6 @@ var/global/sent_syndicate_infiltration_team = 0 U.hidden_uplink.uses = 500 else U.hidden_uplink.uses = num_tc - // Storage - //var/obj/item/weapon/implant/storage/T = new /obj/item/weapon/implant/storage(src) - //T.implant(src) // Dust var/obj/item/weapon/implant/dust/D = new /obj/item/weapon/implant/dust(src) D.implant(src) @@ -196,7 +191,7 @@ var/global/sent_syndicate_infiltration_team = 0 // Other gear equip_to_slot_or_del(new /obj/item/clothing/shoes/syndigaloshes(src), slot_shoes) - var/obj/item/weapon/card/id/syndicate/W = new(src) //Untrackable by AI + var/obj/item/weapon/card/id/syndicate/W = new(src) if (flag_mgmt) W.icon_state = "commander" else diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm index 6414cdde907..8de9a6b53e9 100644 --- a/code/modules/client/preference/preferences.dm +++ b/code/modules/client/preference/preferences.dm @@ -213,15 +213,14 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts /datum/preferences/New(client/C) b_type = pick(4;"O-", 36;"O+", 3;"A-", 28;"A+", 1;"B-", 20;"B+", 1;"AB-", 5;"AB+") + max_gear_slots = config.max_loadout_points if(istype(C)) if(!IsGuestKey(C.key)) unlock_content = C.IsByondMember() if(unlock_content) max_save_slots = MAX_SAVE_SLOTS_MEMBER - - max_gear_slots = config.max_loadout_points - if(C.donator_level >= DONATOR_LEVEL_ONE) - max_gear_slots += 5 + if(C.donator_level >= DONATOR_LEVEL_ONE) + max_gear_slots += 5 var/loaded_preferences_successfully = load_preferences(C) if(loaded_preferences_successfully) From 1980ecf62a17e573cee2c15ec05d849f979c36a1 Mon Sep 17 00:00:00 2001 From: Kyep Date: Sat, 3 Dec 2016 20:48:37 -0800 Subject: [PATCH 05/21] Makes cryopod auto-eject work with mech limbs - People with mechanical limbs are now auto-ejected properly from cryotubes once their organic parts have been healed. --- code/game/machinery/cryo.dm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm index 99ff973ca76..bb1d91cdc5d 100644 --- a/code/game/machinery/cryo.dm +++ b/code/game/machinery/cryo.dm @@ -122,7 +122,14 @@ ..() if(autoeject) if(occupant) - if(occupant.health >= 100) + var/mech_damage = 0 + if(istype(occupant, /mob/living/carbon/human)) + var/mob/living/carbon/human/H = occupant + for(var/obj/item/organ/external/O in H.organs) + if(O.status & ORGAN_ROBOT) + mech_damage += O.brute_dam + mech_damage += O.burn_dam + if(occupant.health >= (100 - mech_damage)) on = 0 go_out() playsound(src.loc, 'sound/machines/ding.ogg', 50, 1) From 947840cc5cad64afb0f4a8f1ecddf63d0c1960cf Mon Sep 17 00:00:00 2001 From: Kyep Date: Mon, 5 Dec 2016 02:04:47 -0800 Subject: [PATCH 06/21] Fixes #3628 - Disablers no longer blow up mechs --- code/game/mecha/mecha.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index c8f93bc74ce..ed189eb62ea 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -565,6 +565,8 @@ if(prob(deflect_chance * deflection) && (Proj.damage_type == BRUTE || Proj.damage_type == BURN)) visible_message("[src]'s armour deflects [Proj]!") + else if (Proj.damage_type == STAMINA) + visible_message("[src]'s armour is undamaged by [Proj]!") else visible_message("[src] is hit by [Proj].") take_damage(Proj.damage * dam_coeff, Proj.flag) From d5e3e14dc9edd8d8615602a93d67f4f1452f0a47 Mon Sep 17 00:00:00 2001 From: Kyep Date: Mon, 5 Dec 2016 14:21:32 -0800 Subject: [PATCH 07/21] Requested changes - Creates "has_organic_damage" proc and updates cryopod and medibot to use it. - For non-human mobs, this proc returns 1 for damaged mobs and 0 for full-health mobs. - For human mobs, this proc returns 1 for mobs with damage to organic parts, and 0 for mobs that are either full health, or have only got damage to robotic limbs. --- code/game/machinery/cryo.dm | 9 +-------- code/modules/mob/living/carbon/human/human_organs.dm | 9 +++++++++ code/modules/mob/living/living.dm | 4 ++++ code/modules/mob/living/simple_animal/bot/medbot.dm | 3 +++ 4 files changed, 17 insertions(+), 8 deletions(-) diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm index bb1d91cdc5d..67414971337 100644 --- a/code/game/machinery/cryo.dm +++ b/code/game/machinery/cryo.dm @@ -122,14 +122,7 @@ ..() if(autoeject) if(occupant) - var/mech_damage = 0 - if(istype(occupant, /mob/living/carbon/human)) - var/mob/living/carbon/human/H = occupant - for(var/obj/item/organ/external/O in H.organs) - if(O.status & ORGAN_ROBOT) - mech_damage += O.brute_dam - mech_damage += O.burn_dam - if(occupant.health >= (100 - mech_damage)) + if(!occupant.has_organic_damage()) on = 0 go_out() playsound(src.loc, 'sound/machines/ding.ogg', 50, 1) diff --git a/code/modules/mob/living/carbon/human/human_organs.dm b/code/modules/mob/living/carbon/human/human_organs.dm index 50f1e7cd342..2f07fdacd07 100644 --- a/code/modules/mob/living/carbon/human/human_organs.dm +++ b/code/modules/mob/living/carbon/human/human_organs.dm @@ -201,3 +201,12 @@ I use this to standardize shadowling dethrall code return null var/obj/item/organ/internal/O = get_int_organ(organ_name) return O.parent_organ + +/mob/living/carbon/human/has_organic_damage() + var/odmg = 0 + for(var/obj/item/organ/external/O in organs) + if(O.status & ORGAN_ROBOT) + odmg += O.brute_dam + odmg += O.burn_dam + return (health < (100 - odmg)) + diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 6be18445b44..62102a2f662 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -287,6 +287,10 @@ adjustFireLoss(burn) src.updatehealth() +/mob/living/proc/has_organic_damage() + return (maxHealth - health) + + /mob/living/proc/restore_all_organs() return diff --git a/code/modules/mob/living/simple_animal/bot/medbot.dm b/code/modules/mob/living/simple_animal/bot/medbot.dm index 92fe2c761bc..df3ae448cf6 100644 --- a/code/modules/mob/living/simple_animal/bot/medbot.dm +++ b/code/modules/mob/living/simple_animal/bot/medbot.dm @@ -368,6 +368,9 @@ if(declare_crit && C.health <= 0) //Critical condition! Call for help! declare(C) + if(!C.has_organic_damage()) + return 0 + //If they're injured, we're using a beaker, and don't have one of our WONDERCHEMS. if((reagent_glass) && (use_beaker) && ((C.getBruteLoss() >= heal_threshold) || (C.getToxLoss() >= heal_threshold) || (C.getToxLoss() >= heal_threshold) || (C.getOxyLoss() >= (heal_threshold + 15)))) for(var/datum/reagent/R in reagent_glass.reagents.reagent_list) From 9e7a30d7867ce9e2b4ad5edfb6915d2f77bccf81 Mon Sep 17 00:00:00 2001 From: Kyep Date: Mon, 5 Dec 2016 15:00:30 -0800 Subject: [PATCH 08/21] Requested changes --- code/game/mecha/mecha.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index ed189eb62ea..20cedf6895f 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -563,10 +563,10 @@ dam_coeff = B.damage_coeff break - if(prob(deflect_chance * deflection) && (Proj.damage_type == BRUTE || Proj.damage_type == BURN)) - visible_message("[src]'s armour deflects [Proj]!") - else if (Proj.damage_type == STAMINA) + if(Proj.damage_type != BRUTE && Proj.damage_type != BURN) visible_message("[src]'s armour is undamaged by [Proj]!") + else if(prob(deflect_chance * deflection)) + visible_message("[src]'s armour deflects [Proj]!") else visible_message("[src] is hit by [Proj].") take_damage(Proj.damage * dam_coeff, Proj.flag) From 73af7f94b89a981eadf53d200f9b344f621e70e4 Mon Sep 17 00:00:00 2001 From: Markolie Date: Tue, 6 Dec 2016 13:13:46 +0100 Subject: [PATCH 09/21] Prevents AI units from clicking on things they can't see --- code/__DEFINES/admin.dm | 19 +++++++++++++++- code/__HELPERS/matrices.dm | 36 +++++++++++++++++++++++++++++++ code/__HELPERS/unsorted.dm | 44 ++++++++++++++++++++++++++++++++++++++ code/_onclick/ai.dm | 8 ++++++- 4 files changed, 105 insertions(+), 2 deletions(-) diff --git a/code/__DEFINES/admin.dm b/code/__DEFINES/admin.dm index 49ef7a72855..2efab1b9132 100644 --- a/code/__DEFINES/admin.dm +++ b/code/__DEFINES/admin.dm @@ -43,4 +43,21 @@ #define R_MAXPERMISSION 32768 //This holds the maximum value for a permission. It is used in iteration, so keep it updated. -#define R_HOST 65535 \ No newline at end of file +#define R_HOST 65535 + +#define ADMIN_QUE(user) "(?)" +#define ADMIN_FLW(user) "(FLW)" +#define ADMIN_PP(user) "(PP)" +#define ADMIN_VV(atom) "(VV)" +#define ADMIN_SM(user) "(SM)" +#define ADMIN_TP(user) "(TP)" +#define ADMIN_BSA(user) "(BSA)" +#define ADMIN_CENTCOM_REPLY(user) "(RPLY)" +#define ADMIN_SYNDICATE_REPLY(user) "(RPLY)" +#define ADMIN_SC(user) "(SC)" +#define ADMIN_LOOKUP(user) "[key_name_admin(user)][ADMIN_QUE(user)]" +#define ADMIN_LOOKUPFLW(user) "[key_name_admin(user)][ADMIN_QUE(user)] [ADMIN_FLW(user)]" +#define ADMIN_FULLMONTY(user) "[key_name_admin(user)] [ADMIN_QUE(user)] [ADMIN_PP(user)] [ADMIN_VV(user)] [ADMIN_SM(user)] [ADMIN_FLW(user)] [ADMIN_TP(user)]" +#define ADMIN_JMP(src) "(JMP)" +#define COORD(src) "[src ? "([src.x],[src.y],[src.z])" : "nonexistent location"]" +#define ADMIN_COORDJMP(src) "[src ? "[COORD(src)] [ADMIN_JMP(src)]" : "nonexistent location"]" \ No newline at end of file diff --git a/code/__HELPERS/matrices.dm b/code/__HELPERS/matrices.dm index 94668321c60..3b370f8a945 100644 --- a/code/__HELPERS/matrices.dm +++ b/code/__HELPERS/matrices.dm @@ -24,3 +24,39 @@ animate(transform = matrices[i], time = speed) //doesn't have an object argument because this is "Stacking" with the animate call above //3 billion% intentional + +//Dumps the matrix data in format a-f +/matrix/proc/tolist() + . = list() + . += a + . += b + . += c + . += d + . += e + . += f + +//Dumps the matrix data in a matrix-grid format +/* + a d 0 + b e 0 + c f 1 +*/ +/matrix/proc/togrid() + . = list() + . += a + . += d + . += 0 + . += b + . += e + . += 0 + . += c + . += f + . += 1 + +//The X pixel offset of this matrix +/matrix/proc/get_x_shift() + . = c + +//The Y pixel offset of this matrix +/matrix/proc/get_y_shift() + . = f \ No newline at end of file diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index de091cb8584..e0d25da3ffd 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -1009,6 +1009,50 @@ proc/get_mob_with_client_list() else if(zone == "l_foot") return "left foot" else if(zone == "r_foot") return "right foot" else return zone + +/* + + Gets the turf this atom's *ICON* appears to inhabit + It takes into account: + * Pixel_x/y + * Matrix x/y + + NOTE: if your atom has non-standard bounds then this proc + will handle it, but: + * if the bounds are even, then there are an even amount of "middle" turfs, the one to the EAST, NORTH, or BOTH is picked + (this may seem bad, but you're atleast as close to the center of the atom as possible, better than byond's default loc being all the way off) + * if the bounds are odd, the true middle turf of the atom is returned + +*/ + +/proc/get_turf_pixel(atom/movable/AM) + if(!istype(AM)) + return + + //Find AM's matrix so we can use it's X/Y pixel shifts + var/matrix/M = matrix(AM.transform) + + var/pixel_x_offset = AM.pixel_x + M.get_x_shift() + var/pixel_y_offset = AM.pixel_y + M.get_y_shift() + + //Irregular objects + if(AM.bound_height != world.icon_size || AM.bound_width != world.icon_size) + var/icon/AMicon = icon(AM.icon, AM.icon_state) + pixel_x_offset += ((AMicon.Width()/world.icon_size)-1)*(world.icon_size*0.5) + pixel_y_offset += ((AMicon.Height()/world.icon_size)-1)*(world.icon_size*0.5) + qdel(AMicon) + + //DY and DX + var/rough_x = round(round(pixel_x_offset,world.icon_size)/world.icon_size) + var/rough_y = round(round(pixel_y_offset,world.icon_size)/world.icon_size) + + //Find coordinates + var/turf/T = get_turf(AM) //use AM's turfs, as it's coords are the same as AM's AND AM's coords are lost if it is inside another atom + var/final_x = T.x + rough_x + var/final_y = T.y + rough_y + + if(final_x || final_y) + return locate(final_x, final_y, T.z) //Finds the distance between two atoms, in pixels //centered = 0 counts from turf edge to edge diff --git a/code/_onclick/ai.dm b/code/_onclick/ai.dm index cdce17f6277..f3ae2fdea48 100644 --- a/code/_onclick/ai.dm +++ b/code/_onclick/ai.dm @@ -31,9 +31,15 @@ return next_click = world.time + 1 - if(control_disabled || stat) return + + var/turf/pixel_turf = get_turf_pixel(A) + if(pixel_turf && !cameranet.checkTurfVis(pixel_turf)) + log_admin("[key_name_admin(src)] might be running a modified client! (failed checkTurfVis on AI click of [A]([COORD(A)])") + message_admins("[key_name_admin(src)] might be running a modified client! (failed checkTurfVis on AI click of [A]([ADMIN_COORDJMP(A)]))") + send2irc_adminless_only("NOCHEAT", "[key_name(src)] might be running a modified client! (failed checkTurfVis on AI click of [A]([COORD(A)]))") + return var/list/modifiers = params2list(params) if(modifiers["shift"] && modifiers["ctrl"]) From c093b0e4887e22f75a7a71774ba7e5a06d1c7791 Mon Sep 17 00:00:00 2001 From: Markolie Date: Wed, 7 Dec 2016 07:50:34 +0100 Subject: [PATCH 10/21] Fix incorrect OOC reference --- code/game/gamemodes/gameticker.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/gamemodes/gameticker.dm b/code/game/gamemodes/gameticker.dm index 328facd08c6..7e4dd5e9182 100644 --- a/code/game/gamemodes/gameticker.dm +++ b/code/game/gamemodes/gameticker.dm @@ -414,7 +414,7 @@ var/round_start_time = 0 var/dat dat += {"Karma Reminder

Karma Reminder


You have not yet spent your karma for the round, surely there is a player who was worthy of receiving
- your reward? Look under 'OOC' for the 'Award Karma' button, and use it once a round for best results!"} + your reward? Look under 'Karma' for the 'Award Karma' button, and use it once a round for best results!"} player << browse(dat, "window=karmareminder;size=400x300") From b1a4195b4054125cdec46ce282dc1ee3ca622007 Mon Sep 17 00:00:00 2001 From: Markolie Date: Wed, 7 Dec 2016 07:53:20 +0100 Subject: [PATCH 11/21] Fix up \ref's --- code/__DEFINES/admin.dm | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/code/__DEFINES/admin.dm b/code/__DEFINES/admin.dm index 2efab1b9132..0397b5bcdde 100644 --- a/code/__DEFINES/admin.dm +++ b/code/__DEFINES/admin.dm @@ -45,16 +45,16 @@ #define R_HOST 65535 -#define ADMIN_QUE(user) "(?)" -#define ADMIN_FLW(user) "(FLW)" -#define ADMIN_PP(user) "(PP)" -#define ADMIN_VV(atom) "(VV)" -#define ADMIN_SM(user) "(SM)" -#define ADMIN_TP(user) "(TP)" -#define ADMIN_BSA(user) "(BSA)" -#define ADMIN_CENTCOM_REPLY(user) "(RPLY)" -#define ADMIN_SYNDICATE_REPLY(user) "(RPLY)" -#define ADMIN_SC(user) "(SC)" +#define ADMIN_QUE(user) "(?)" +#define ADMIN_FLW(user) "(FLW)" +#define ADMIN_PP(user) "(PP)" +#define ADMIN_VV(atom) "(VV)" +#define ADMIN_SM(user) "(SM)" +#define ADMIN_TP(user) "(TP)" +#define ADMIN_BSA(user) "(BSA)" +#define ADMIN_CENTCOM_REPLY(user) "(RPLY)" +#define ADMIN_SYNDICATE_REPLY(user) "(RPLY)" +#define ADMIN_SC(user) "(SC)" #define ADMIN_LOOKUP(user) "[key_name_admin(user)][ADMIN_QUE(user)]" #define ADMIN_LOOKUPFLW(user) "[key_name_admin(user)][ADMIN_QUE(user)] [ADMIN_FLW(user)]" #define ADMIN_FULLMONTY(user) "[key_name_admin(user)] [ADMIN_QUE(user)] [ADMIN_PP(user)] [ADMIN_VV(user)] [ADMIN_SM(user)] [ADMIN_FLW(user)] [ADMIN_TP(user)]" From a2bde2d187c9ddfdf303d03956fe749863c45e05 Mon Sep 17 00:00:00 2001 From: TullyBurnalot Date: Wed, 7 Dec 2016 10:51:43 +0000 Subject: [PATCH 12/21] Mining Vendor no longer gobbles up IDs - When unpowered, Mining Vendors no longer accept IDs --- code/modules/mining/equipment_locker.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/mining/equipment_locker.dm b/code/modules/mining/equipment_locker.dm index 56f71c94cb9..d59688d53b4 100644 --- a/code/modules/mining/equipment_locker.dm +++ b/code/modules/mining/equipment_locker.dm @@ -437,6 +437,8 @@ return /obj/machinery/mineral/equipment_vendor/attackby(obj/item/I as obj, mob/user as mob, params) + if(!powered()) + return if(istype(I, /obj/item/weapon/mining_voucher)) RedeemVoucher(I, user) return From d865b601d8ff57e226935b993526665c9ec2bc86 Mon Sep 17 00:00:00 2001 From: TullyBurnalot Date: Wed, 7 Dec 2016 11:17:34 +0000 Subject: [PATCH 13/21] Unpowered Mining Machine Deconstruction - Both the Mining Vendor and the ORM can now be deconstructed when unpowered --- code/modules/mining/equipment_locker.dm | 43 +++++++++++-------------- 1 file changed, 19 insertions(+), 24 deletions(-) diff --git a/code/modules/mining/equipment_locker.dm b/code/modules/mining/equipment_locker.dm index d59688d53b4..74d2fde901b 100644 --- a/code/modules/mining/equipment_locker.dm +++ b/code/modules/mining/equipment_locker.dm @@ -105,6 +105,18 @@ i++ /obj/machinery/mineral/ore_redemption/attackby(var/obj/item/weapon/W, var/mob/user, params) + if(default_deconstruction_screwdriver(user, "ore_redemption-open", "ore_redemption", W)) + updateUsrDialog() + return + if(exchange_parts(user, W)) + return + if(panel_open) + if(istype(W, /obj/item/weapon/crowbar)) + empty_content() + default_deconstruction_crowbar(W) + return + if(default_unfasten_wrench(user, W)) + return if(!powered()) return if(istype(W,/obj/item/weapon/card/id)) @@ -116,23 +128,6 @@ inserted_id = I interact(user) return - - if(default_deconstruction_screwdriver(user, "ore_redemption-open", "ore_redemption", W)) - updateUsrDialog() - return - - if(exchange_parts(user, W)) - return - - if(panel_open) - if(istype(W, /obj/item/weapon/crowbar)) - empty_content() - default_deconstruction_crowbar(W) - return - - if(default_unfasten_wrench(user, W)) - return - ..() /obj/machinery/mineral/ore_redemption/proc/SmeltMineral(var/obj/item/weapon/ore/O) @@ -437,6 +432,13 @@ return /obj/machinery/mineral/equipment_vendor/attackby(obj/item/I as obj, mob/user as mob, params) + if(default_deconstruction_screwdriver(user, "mining-open", "mining", I)) + updateUsrDialog() + return + if(panel_open) + if(istype(I, /obj/item/weapon/crowbar)) + default_deconstruction_crowbar(I) + return 1 if(!powered()) return if(istype(I, /obj/item/weapon/mining_voucher)) @@ -451,13 +453,6 @@ inserted_id = C interact(user) return - if(default_deconstruction_screwdriver(user, "mining-open", "mining", I)) - updateUsrDialog() - return - if(panel_open) - if(istype(I, /obj/item/weapon/crowbar)) - default_deconstruction_crowbar(I) - return 1 ..() /obj/machinery/mineral/equipment_vendor/proc/RedeemVoucher(obj/item/weapon/mining_voucher/voucher, mob/redeemer) From e23b10081ee4e4fc35defe28ff2975abfce4d20d Mon Sep 17 00:00:00 2001 From: TullyBurnalot Date: Wed, 7 Dec 2016 12:45:57 +0000 Subject: [PATCH 14/21] Maintanability of powered checks - Powered check no longer blanket bans everything but deconstruction --- code/modules/mining/equipment_locker.dm | 49 ++++++++++++++----------- 1 file changed, 27 insertions(+), 22 deletions(-) diff --git a/code/modules/mining/equipment_locker.dm b/code/modules/mining/equipment_locker.dm index 74d2fde901b..c8eb4a8db1b 100644 --- a/code/modules/mining/equipment_locker.dm +++ b/code/modules/mining/equipment_locker.dm @@ -117,17 +117,18 @@ return if(default_unfasten_wrench(user, W)) return - if(!powered()) - return if(istype(W,/obj/item/weapon/card/id)) - var/obj/item/weapon/card/id/I = usr.get_active_hand() - if(istype(I) && !istype(inserted_id)) - if(!user.drop_item()) - return - I.loc = src - inserted_id = I - interact(user) - return + if(!powered()) + return + else + var/obj/item/weapon/card/id/I = usr.get_active_hand() + if(istype(I) && !istype(inserted_id)) + if(!user.drop_item()) + return + I.loc = src + inserted_id = I + interact(user) + return ..() /obj/machinery/mineral/ore_redemption/proc/SmeltMineral(var/obj/item/weapon/ore/O) @@ -439,20 +440,24 @@ if(istype(I, /obj/item/weapon/crowbar)) default_deconstruction_crowbar(I) return 1 - if(!powered()) - return if(istype(I, /obj/item/weapon/mining_voucher)) - RedeemVoucher(I, user) - return + if(!powered()) + return + else + RedeemVoucher(I, user) + return if(istype(I,/obj/item/weapon/card/id)) - var/obj/item/weapon/card/id/C = usr.get_active_hand() - if(istype(C) && !istype(inserted_id)) - if(!usr.drop_item()) - return - C.loc = src - inserted_id = C - interact(user) - return + if(!powered()) + return + else + var/obj/item/weapon/card/id/C = usr.get_active_hand() + if(istype(C) && !istype(inserted_id)) + if(!usr.drop_item()) + return + C.loc = src + inserted_id = C + interact(user) + return ..() /obj/machinery/mineral/equipment_vendor/proc/RedeemVoucher(obj/item/weapon/mining_voucher/voucher, mob/redeemer) From 88946a0b77cf5a8999ed5ad2df6e1aa9bb2fc447 Mon Sep 17 00:00:00 2001 From: Markolie Date: Wed, 7 Dec 2016 16:52:10 +0100 Subject: [PATCH 15/21] Switching karma back to the "OOC" tab --- code/game/gamemodes/gameticker.dm | 2 +- code/modules/karma/karma.dm | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/code/game/gamemodes/gameticker.dm b/code/game/gamemodes/gameticker.dm index 7e4dd5e9182..328facd08c6 100644 --- a/code/game/gamemodes/gameticker.dm +++ b/code/game/gamemodes/gameticker.dm @@ -414,7 +414,7 @@ var/round_start_time = 0 var/dat dat += {"Karma Reminder

Karma Reminder


You have not yet spent your karma for the round, surely there is a player who was worthy of receiving
- your reward? Look under 'Karma' for the 'Award Karma' button, and use it once a round for best results!"} + your reward? Look under 'OOC' for the 'Award Karma' button, and use it once a round for best results!"} player << browse(dat, "window=karmareminder;size=400x300") diff --git a/code/modules/karma/karma.dm b/code/modules/karma/karma.dm index bbb663064fe..bdd73533c82 100644 --- a/code/modules/karma/karma.dm +++ b/code/modules/karma/karma.dm @@ -84,7 +84,7 @@ var/list/karma_spenders = list() /mob/verb/spend_karma_list() set name = "Award Karma" set desc = "Let the gods know whether someone's been nice. Can only be used once per round." - set category = "Karma" + set category = "OOC" if(!can_give_karma()) return @@ -113,7 +113,7 @@ var/list/karma_spenders = list() /mob/verb/spend_karma(var/mob/M) set name = "Award Karma to Player" set desc = "Let the gods know whether someone's been nice. Can only be used once per round." - set category = "Karma" + set category = "OOC" if(!M) to_chat(usr, "Please right click a mob to award karma directly, or use the 'Award Karma' verb to select a player from the player listing.") @@ -145,7 +145,7 @@ var/list/karma_spenders = list() /client/verb/check_karma() set name = "Check Karma" set desc = "Reports how much karma you have accrued." - set category = "Karma" + set category = "OOC" var/currentkarma=verify_karma() to_chat(usr, {"
You have [currentkarma] available."}) From ec574a418b66560c40c31c95930cf2763d8c23e2 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Wed, 7 Dec 2016 12:33:37 -0500 Subject: [PATCH 16/21] Automatic changelog generation for PR #5858 [ci skip] --- html/changelogs/AutoChangeLog-pr-5858.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-5858.yml diff --git a/html/changelogs/AutoChangeLog-pr-5858.yml b/html/changelogs/AutoChangeLog-pr-5858.yml new file mode 100644 index 00000000000..02b79cefb06 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5858.yml @@ -0,0 +1,4 @@ +author: "Markolie" +delete-after: True +changes: + - tweak: "Verbs have been cleaned up: all karma verbs can now be found under \"OOC\" instead of \"Special Verbs\". Most admin verbs have been moved out of \"Special Verbs\" as well." From 1afdfe3933396edb1a70874cb309929316321b80 Mon Sep 17 00:00:00 2001 From: TullyBurnalot Date: Wed, 7 Dec 2016 18:03:45 +0000 Subject: [PATCH 17/21] Adresses the forceMove(src) - See above title --- code/modules/mining/equipment_locker.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mining/equipment_locker.dm b/code/modules/mining/equipment_locker.dm index c8eb4a8db1b..fb98f3a8c15 100644 --- a/code/modules/mining/equipment_locker.dm +++ b/code/modules/mining/equipment_locker.dm @@ -125,7 +125,7 @@ if(istype(I) && !istype(inserted_id)) if(!user.drop_item()) return - I.loc = src + I.forceMove(src) inserted_id = I interact(user) return @@ -454,7 +454,7 @@ if(istype(C) && !istype(inserted_id)) if(!usr.drop_item()) return - C.loc = src + C.forceMove(src) inserted_id = C interact(user) return From 89fa3555e8fc98dc06475588756a62e381a4f078 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Wed, 7 Dec 2016 13:10:04 -0500 Subject: [PATCH 18/21] Automatic changelog generation for PR #5960 [ci skip] --- html/changelogs/AutoChangeLog-pr-5960.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-5960.yml diff --git a/html/changelogs/AutoChangeLog-pr-5960.yml b/html/changelogs/AutoChangeLog-pr-5960.yml new file mode 100644 index 00000000000..8acaa4d75bf --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5960.yml @@ -0,0 +1,5 @@ +author: "TullyBurnalot" +delete-after: True +changes: + - bugfix: "Unpowered Mining Vendors no longer accept IDs" + - bugfix: "Ore Redemption Machine and Mining Vendor can now be deconstructed if unpowered" From 11130bcb70ab5f92f18a35f11336111dac743baf Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Wed, 7 Dec 2016 13:13:00 -0500 Subject: [PATCH 19/21] Automatic changelog compile, [ci skip] --- html/changelog.html | 11 +++++++++++ html/changelogs/.all_changelog.yml | 8 ++++++++ html/changelogs/AutoChangeLog-pr-5858.yml | 4 ---- html/changelogs/AutoChangeLog-pr-5960.yml | 5 ----- 4 files changed, 19 insertions(+), 9 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-5858.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-5960.yml diff --git a/html/changelog.html b/html/changelog.html index aaecde3bc11..ce12ceec7be 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -55,6 +55,17 @@ -->
+

07 December 2016

+

Markolie updated:

+
    +
  • Verbs have been cleaned up: all karma verbs can now be found under "OOC" instead of "Special Verbs". Most admin verbs have been moved out of "Special Verbs" as well.
  • +
+

TullyBurnalot updated:

+
    +
  • Unpowered Mining Vendors no longer accept IDs
  • +
  • Ore Redemption Machine and Mining Vendor can now be deconstructed if unpowered
  • +
+

06 December 2016

Markolie updated:

    diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index 781a18d0ea8..a4290989c94 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -3144,3 +3144,11 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. - bugfix: The track button on the AI crew monitor now works. - bugfix: Permanent door electrification by alt-clicking a door as an AI or setting it manually now works again. +2016-12-07: + Markolie: + - tweak: 'Verbs have been cleaned up: all karma verbs can now be found under "OOC" + instead of "Special Verbs". Most admin verbs have been moved out of "Special + Verbs" as well.' + TullyBurnalot: + - bugfix: Unpowered Mining Vendors no longer accept IDs + - bugfix: Ore Redemption Machine and Mining Vendor can now be deconstructed if unpowered diff --git a/html/changelogs/AutoChangeLog-pr-5858.yml b/html/changelogs/AutoChangeLog-pr-5858.yml deleted file mode 100644 index 02b79cefb06..00000000000 --- a/html/changelogs/AutoChangeLog-pr-5858.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Markolie" -delete-after: True -changes: - - tweak: "Verbs have been cleaned up: all karma verbs can now be found under \"OOC\" instead of \"Special Verbs\". Most admin verbs have been moved out of \"Special Verbs\" as well." diff --git a/html/changelogs/AutoChangeLog-pr-5960.yml b/html/changelogs/AutoChangeLog-pr-5960.yml deleted file mode 100644 index 8acaa4d75bf..00000000000 --- a/html/changelogs/AutoChangeLog-pr-5960.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "TullyBurnalot" -delete-after: True -changes: - - bugfix: "Unpowered Mining Vendors no longer accept IDs" - - bugfix: "Ore Redemption Machine and Mining Vendor can now be deconstructed if unpowered" From 39a8d9e1491f90065c496d10030d8ff9de96af4f Mon Sep 17 00:00:00 2001 From: Alffd Date: Thu, 8 Dec 2016 22:38:54 -0500 Subject: [PATCH 20/21] Changelog fixes Adds missing changelog entries. --- html/changelogs/AutoChangeLog-pr-5938.yml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-5938.yml diff --git a/html/changelogs/AutoChangeLog-pr-5938.yml b/html/changelogs/AutoChangeLog-pr-5938.yml new file mode 100644 index 00000000000..82fff3a552d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5938.yml @@ -0,0 +1,8 @@ +author: "Kyep" +delete-after: True +changes: + - bugfix: Ensures cryo pods will properly auto-eject people whose organic parts (limbs) have been healed, but who still have damaged mechanical limbs. + - bugfix: Disabler shots no longer damage mechs. + - bugfix: On impact, both taser and disabler shots now produce a message saying that the mech is undamaged by them, instead of a message saying they 'hit'. + - bugfix: Fixed runtimes created when SIT, ERT, and some other mobs are spawned. + - bugfix: Fixed a bug causing SITs to be spawned with one less person than desired in some cases. From cd71a83dec31a1cea9fba707f9b44605596ef2b1 Mon Sep 17 00:00:00 2001 From: ParadiseSS13-Bot Date: Thu, 8 Dec 2016 23:00:11 -0500 Subject: [PATCH 21/21] Automatic changelog compile, [ci skip] --- html/changelog.html | 10 ++++++++++ html/changelogs/.all_changelog.yml | 10 ++++++++++ html/changelogs/AutoChangeLog-pr-5938.yml | 8 -------- 3 files changed, 20 insertions(+), 8 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-5938.yml diff --git a/html/changelog.html b/html/changelog.html index ce12ceec7be..9b4d1d8e268 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -55,6 +55,16 @@ -->
    +

    08 December 2016

    +

    Kyep updated:

    +
      +
    • Ensures cryo pods will properly auto-eject people whose organic parts (limbs) have been healed, but who still have damaged mechanical limbs.
    • +
    • Disabler shots no longer damage mechs.
    • +
    • On impact, both taser and disabler shots now produce a message saying that the mech is undamaged by them, instead of a message saying they 'hit'.
    • +
    • Fixed runtimes created when SIT, ERT, and some other mobs are spawned.
    • +
    • Fixed a bug causing SITs to be spawned with one less person than desired in some cases.
    • +
    +

    07 December 2016

    Markolie updated:

      diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index a4290989c94..9ce1bbab711 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -3152,3 +3152,13 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. TullyBurnalot: - bugfix: Unpowered Mining Vendors no longer accept IDs - bugfix: Ore Redemption Machine and Mining Vendor can now be deconstructed if unpowered +2016-12-08: + Kyep: + - bugfix: Ensures cryo pods will properly auto-eject people whose organic parts + (limbs) have been healed, but who still have damaged mechanical limbs. + - bugfix: Disabler shots no longer damage mechs. + - bugfix: On impact, both taser and disabler shots now produce a message saying + that the mech is undamaged by them, instead of a message saying they 'hit'. + - bugfix: Fixed runtimes created when SIT, ERT, and some other mobs are spawned. + - bugfix: Fixed a bug causing SITs to be spawned with one less person than desired + in some cases. diff --git a/html/changelogs/AutoChangeLog-pr-5938.yml b/html/changelogs/AutoChangeLog-pr-5938.yml deleted file mode 100644 index 82fff3a552d..00000000000 --- a/html/changelogs/AutoChangeLog-pr-5938.yml +++ /dev/null @@ -1,8 +0,0 @@ -author: "Kyep" -delete-after: True -changes: - - bugfix: Ensures cryo pods will properly auto-eject people whose organic parts (limbs) have been healed, but who still have damaged mechanical limbs. - - bugfix: Disabler shots no longer damage mechs. - - bugfix: On impact, both taser and disabler shots now produce a message saying that the mech is undamaged by them, instead of a message saying they 'hit'. - - bugfix: Fixed runtimes created when SIT, ERT, and some other mobs are spawned. - - bugfix: Fixed a bug causing SITs to be spawned with one less person than desired in some cases.