From 39670bf97a03e82a9a91dca191aafbcbc72062b1 Mon Sep 17 00:00:00 2001 From: SamCroswell Date: Sat, 3 May 2014 20:52:07 -0400 Subject: [PATCH] Ninja Greentext Fix --- code/datums/mind.dm | 54 ++++++++++++++++++ code/game/gamemodes/events/ninja_equipment.dm | 14 ++++- code/game/gamemodes/events/space_ninja.dm | 6 +- code/modules/clothing/spacesuits/ninja.dm | 1 + icons/mob/mask.dmi | Bin 27014 -> 27016 bytes 5 files changed, 72 insertions(+), 3 deletions(-) diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 88fade901ab..56aec67a7a1 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -229,6 +229,39 @@ datum/mind // text += "
All the changelings are dead! Restart in [round((changeling.TIME_TO_GET_REVIVED-(world.time-changeling.changelingdeathtime))/10)] seconds." sections["changeling"] = text + /** NINJA ***/ + text = "ninja" + if (ticker.mode.config_tag=="ninja") + text = uppertext(text) + text = "[text]: " + if (src in ticker.mode.ninjas) + text += "YES|no" + text += "
To outpost, undress, dress up." + //if (objectives.len==0) + //text += "
Objectives are empty! Randomize!" + else + text += "yes|NO" + sections["ninja"] = text + + /** CHANGELING ***/ + text = "changeling" + if (ticker.mode.config_tag=="changeling" || ticker.mode.config_tag=="traitorchan") + text = uppertext(text) + text = "[text]: " + if (src in ticker.mode.changelings) + text += "YES|no" + if (objectives.len==0) + text += "
Objectives are empty! Randomize!" + if( changeling && changeling.absorbed_dna.len && (current.real_name != changeling.absorbed_dna[1]) ) + text += "
Transform to initial appearance." + else + text += "yes|NO" +// var/datum/game_mode/changeling/changeling = ticker.mode +// if (istype(changeling) && changeling.changelingdeath) +// text += "
All the changelings are dead! Restart in [round((changeling.TIME_TO_GET_REVIVED-(world.time-changeling.changelingdeathtime))/10)] seconds." + sections["changeling"] = text + + /** VAMPIRE ***/ text = "vampire" if (ticker.mode.config_tag=="vampire") @@ -751,6 +784,27 @@ datum/mind ticker.mode.forge_wizard_objectives(src) usr << "\blue The objectives for wizard [key] have been generated. You can edit them and anounce manually." + else if (href_list["ninja"]) + current.hud_updateflag |= (1 << SPECIALROLE_HUD) + + switch(href_list["ninja"]) + if("clear") + if(src in ticker.mode.ninjas) + ticker.mode.ninjas -= src + special_role = null + current << "\red You have been brainwashed! You are no longer a Ninja!" + log_admin("[key_name_admin(usr)] has de-ninja'ed [current].") + if("ninja") + if(!(src in ticker.mode.ninjas)) + ticker.mode.ninjas += src + special_role = "Ninja" + current << "\blue Your mind awakens, your true potential is realized! You are a Space Ninja!" + log_admin("[key_name_admin(usr)] has ninja'ed [current].") + if("outpost") + current.loc = pick(ninjastart) + if("dressup") + current:equip_space_ninja() + else if (href_list["changeling"]) current.hud_updateflag |= (1 << SPECIALROLE_HUD) switch(href_list["changeling"]) diff --git a/code/game/gamemodes/events/ninja_equipment.dm b/code/game/gamemodes/events/ninja_equipment.dm index 0d94cab437a..9a07e32335c 100644 --- a/code/game/gamemodes/events/ninja_equipment.dm +++ b/code/game/gamemodes/events/ninja_equipment.dm @@ -38,7 +38,19 @@ ________________________________________________________________________________ for(var/reagent_id in reagent_list) reagent_id == "uranium" ? reagents.add_reagent(reagent_id, r_maxamount+(a_boost*a_transfer)) : reagents.add_reagent(reagent_id, r_maxamount)//It will take into account uranium used for adrenaline boosting. cell = new/obj/item/weapon/cell/high//The suit should *always* have a battery because so many things rely on it. - cell.charge = 9000//Starting charge should not be higher than maximum charge. It leads to problems with recharging. + cell.charge = 9990//Starting charge should not be higher than maximum charge. It leads to problems with recharging. + cell.maxcharge = 10000 // Due to Ponies' overhaul Ninjas began starting with a 15000 energy cell. This should fix that issue. + + /*switch(s_rank) In preparation for Ninja overhaul, differeing starting charge levels for each rank of Ninja. + if("Initiate") + cell.charge = 7490 + cell.maxcharge = 7500 + if("Assassin") + cell.charge = 9990 + cell.maxcharge = 10000 + if("Master") + cell.maxcharge = 15000 + cell.charge = 14990*/ /obj/item/clothing/suit/space/space_ninja/Destroy() if(affecting)//To make sure the window is closed. diff --git a/code/game/gamemodes/events/space_ninja.dm b/code/game/gamemodes/events/space_ninja.dm index 33a7be0484d..6f24bf194ac 100644 --- a/code/game/gamemodes/events/space_ninja.dm +++ b/code/game/gamemodes/events/space_ninja.dm @@ -452,7 +452,8 @@ As such, it's hard-coded for now. No reason for it not to be, really. if(ishuman(M)) log_admin("[key_name(src)] turned [M.key] into a Space Ninja.") spawn(10) - M:create_mind_space_ninja() + M.mind.assigned_role = "MODE" + M.mind.special_role = "Ninja" M:equip_space_ninja(1) if(istype(M:wear_suit, /obj/item/clothing/suit/space/space_ninja)) M:wear_suit:randomize_param() @@ -521,7 +522,8 @@ As such, it's hard-coded for now. No reason for it not to be, really. mind.assigned_role = "MODE" mind.special_role = "Ninja" - //ticker.mode.ninjas |= mind + ticker.mode.ninjas += mind + return 1 /mob/living/carbon/human/proc/equip_space_ninja(safety=0)//Safety in case you need to unequip stuff for existing characters. diff --git a/code/modules/clothing/spacesuits/ninja.dm b/code/modules/clothing/spacesuits/ninja.dm index 3c281767fd7..bdf85cdd5e4 100644 --- a/code/modules/clothing/spacesuits/ninja.dm +++ b/code/modules/clothing/spacesuits/ninja.dm @@ -43,6 +43,7 @@ var/s_delay = 40.0//How fast the suit does certain things, lower is faster. Can be overridden in specific procs. Also determines adverse probability. var/a_transfer = 20.0//How much reagent is transferred when injecting. var/r_maxamount = 80.0//How much reagent in total there is. + //var/s_rank = "Master" The three ranks are "Initiate", "Assassin", and "Master". Master is the base case. //Support function variables. var/spideros = 0//Mode of SpiderOS. This can change so I won't bother listing the modes here (0 is hub). Check ninja_equipment.dm for how it all works. diff --git a/icons/mob/mask.dmi b/icons/mob/mask.dmi index abe214a411bff8dff14b6ad12948f9888908ebd8..4b57b96768bb4e91f7fd581d632d13d392e16732 100644 GIT binary patch delta 7185 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 delta 7196 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 B?$Q7N