From 81df1a130725e29ff49fec8bbee569f4edc2b8e6 Mon Sep 17 00:00:00 2001 From: LightningIron Date: Sat, 21 Dec 2013 17:53:19 -0600 Subject: [PATCH 1/5] Removes lockboxes. --- code/modules/research/rdconsole.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index 4cc18d6434..103969bdd1 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -394,10 +394,10 @@ won't update every console in existence) but it's more of a hassle to do. Also, new_item.investigate_log("built by [key]","singulo") new_item.reliability = being_built.reliability if(linked_lathe.hacked) being_built.reliability = max((reliability / 2), 0) - if(being_built.locked) + /*if(being_built.locked) var/obj/item/weapon/storage/lockbox/L = new/obj/item/weapon/storage/lockbox(linked_lathe.loc) new_item.loc = L - L.name += " ([new_item.name])" + L.name += " ([new_item.name])"*/ else new_item.loc = linked_lathe.loc linked_lathe.busy = 0 From 8ae226652661e0d06102915297171bc84053f8f4 Mon Sep 17 00:00:00 2001 From: LightningIron Date: Wed, 8 Jan 2014 20:49:45 -0600 Subject: [PATCH 2/5] Added captured variable to mobs, non-chair equivalent to being buckled into a chair --- code/modules/mob/mob.dm | 6 +++++- code/modules/mob/mob_defines.dm | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index c82489cf35..5cd8c2b68e 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -362,7 +362,7 @@ var/list/slot_equipment_priority = list( \ pluralcheck = " [deathtimeminutes] minutes and" var/deathtimeseconds = round((deathtime - deathtimeminutes * 600) / 10,1) usr << "You have been dead for[pluralcheck] [deathtimeseconds] seconds." - + if (deathtime < 18000) usr << "You must wait 30 minutes to respawn!" return @@ -753,6 +753,10 @@ note dizziness decrements automatically in the mob's Life() proc. else if( stunned ) // lying = 0 canmove = 0 + else if(captured) + anchored = 1 + canmove = 0 + lying = 0 else lying = !can_stand canmove = has_limbs diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index 2452db5abc..cff7092f74 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -157,7 +157,7 @@ var/voice_name = "unidentifiable voice" var/faction = "neutral" //Used for checking whether hostile simple animals will attack you, possibly more stuff later - + var/captured = 0 //Functionally, should give the same effect as being buckled into a chair when true. //Generic list for proc holders. Only way I can see to enable certain verbs/procs. Should be modified if needed. var/proc_holder_list[] = list()//Right now unused. From 7a37eac62450d58906afed35f0fb013a87fd53a4 Mon Sep 17 00:00:00 2001 From: LightningIron Date: Wed, 8 Jan 2014 20:52:51 -0600 Subject: [PATCH 3/5] Miscellaneous ninja fixes and ability cost changes (because nearly all were inconsistent with listed/actual cost), e-net fix --- code/game/gamemodes/events/ninja_abilities.dm | 33 ++++++++++--------- code/game/gamemodes/events/ninja_equipment.dm | 5 +-- 2 files changed, 20 insertions(+), 18 deletions(-) diff --git a/code/game/gamemodes/events/ninja_abilities.dm b/code/game/gamemodes/events/ninja_abilities.dm index 641bdf77ce..11109af279 100644 --- a/code/game/gamemodes/events/ninja_abilities.dm +++ b/code/game/gamemodes/events/ninja_abilities.dm @@ -69,12 +69,12 @@ Not sure why this would be useful (it's not) but whatever. Ninjas need their smo //=======//RIGHT CLICK TELEPORT//=======// //Right click to teleport somewhere, almost exactly like admin jump to turf. /obj/item/clothing/suit/space/space_ninja/proc/ninjashift(turf/T in oview()) - set name = "Phase Shift (1E)" + set name = "Phase Shift (400E)" set desc = "Utilizes the internal VOID-shift device to rapidly transit to a destination in view." set category = null//So it does not show up on the panel but can still be right-clicked. set src = usr.contents//Fixes verbs not attaching properly for objects. Praise the DM reference guide! - var/C = 200 + var/C = 40 if(!ninjacost(C,1)) var/mob/living/carbon/human/U = affecting var/turf/mobloc = get_turf(U.loc)//To make sure that certain things work properly below. @@ -83,6 +83,7 @@ Not sure why this would be useful (it's not) but whatever. Ninjas need their smo playsound(U.loc, 'sound/effects/sparks4.ogg', 50, 1) anim(mobloc,src,'icons/mob/mob.dmi',,"phaseout",,U.dir) + cell.use(C*10) handle_teleport_grab(T, U) U.loc = T @@ -92,19 +93,19 @@ Not sure why this would be useful (it's not) but whatever. Ninjas need their smo playsound(U.loc, 'sound/effects/sparks2.ogg', 50, 1) anim(U.loc,U,'icons/mob/mob.dmi',,"phasein",,U.dir) else - U << "\red You cannot teleport into solid walls or from solid matter" + U << "\red You cannot teleport into solid walls or from solid matter." return //=======//EM PULSE//=======// //Disables nearby tech equipment. /obj/item/clothing/suit/space/space_ninja/proc/ninjapulse() - set name = "EM Burst (1,000E)" + set name = "EM Burst (2,000E)" set desc = "Disable any nearby technology with a electro-magnetic pulse." set category = "Ninja Ability" set popup_menu = 0 - var/C = 250 - if(!ninjacost(C,100)) // EMP's now cost 1,000Energy about 30% + var/C = 200 + if(!ninjacost(C,0)) // EMP's now cost 1,000Energy about 30% var/mob/living/carbon/human/U = affecting playsound(U.loc, 'sound/effects/EMPulse.ogg', 60, 2) empulse(U, 2, 3) //Procs sure are nice. Slightly weaker than wizard's disable tch. @@ -115,13 +116,13 @@ Not sure why this would be useful (it's not) but whatever. Ninjas need their smo //=======//ENERGY BLADE//=======// //Summons a blade of energy in active hand. /obj/item/clothing/suit/space/space_ninja/proc/ninjablade() - set name = "Energy Blade (20E)" + set name = "Energy Blade (500E)" set desc = "Create a focused beam of energy in your active hand." set category = "Ninja Ability" set popup_menu = 0 var/C = 50 - if(!ninjacost(C, 800)) //Same spawn cost but higher upkeep cost + if(!ninjacost(C,0)) //Same spawn cost but higher upkeep cost var/mob/living/carbon/human/U = affecting if(!kamikaze) if(!U.get_active_hand()&&!istype(U.get_inactive_hand(), /obj/item/weapon/melee/energy/blade)) @@ -148,12 +149,12 @@ Not sure why this would be useful (it's not) but whatever. Ninjas need their smo /*Shoots ninja stars at random people. This could be a lot better but I'm too tired atm.*/ /obj/item/clothing/suit/space/space_ninja/proc/ninjastar() - set name = "Energy Star (1,000E)" + set name = "Energy Star (800E)" set desc = "Launches an energy star at a random living target." set category = "Ninja Ability" set popup_menu = 0 - var/C = 50 + var/C = 80 if(!ninjacost(C,1)) var/mob/living/carbon/human/U = affecting var/targets[] = list()//So yo can shoot while yo throw dawg @@ -173,7 +174,7 @@ This could be a lot better but I'm too tired atm.*/ A.current = curloc A.yo = targloc.y - curloc.y A.xo = targloc.x - curloc.x - cell.use(C*100)// Ninja stars now cost 100 energy, stil la fair chunk to avoid spamming, will run out of power quickly if used 3 or more times + cell.use(C*10) A.process() else U << "\red There are no targets in view." @@ -183,13 +184,13 @@ This could be a lot better but I'm too tired atm.*/ /*Allows the ninja to capture people, I guess. Must right click on a mob to activate.*/ /obj/item/clothing/suit/space/space_ninja/proc/ninjanet(mob/living/carbon/M in oview())//Only living carbon mobs. - set name = "Energy Net (8,000E)" + set name = "Energy Net (7,000E)" set desc = "Captures a fallen opponent in a net of energy. Will teleport them to a holding facility after 30 seconds." set category = null set src = usr.contents - var/C = 500 - if(!ninjacost(C,80)&&iscarbon(M)) // Nets now cost 8,000 + var/C = 700 + if(!ninjacost(C,0)&&iscarbon(M)) var/mob/living/carbon/human/U = affecting if(M.client)//Monkeys without a client can still step_to() and bypass the net. Also, netting inactive people is lame. //if(M)//DEBUG @@ -200,7 +201,7 @@ Must right click on a mob to activate.*/ return spawn(0) U.Beam(M,"n_beam",,15) - M.anchored = 1//Anchors them so they can't move. + M.captured = 1 U.say("Get over here!") var/obj/effect/energy_net/E = new /obj/effect/energy_net(M.loc) E.layer = M.layer+1//To have it appear one layer above the mob. @@ -210,7 +211,7 @@ Must right click on a mob to activate.*/ E.master = U spawn(0)//Parallel processing. E.process(M) - cell.use(C*100) // Nets now cost what should be most of a standard battery, since your taking someone out of the round + cell.use(C*10) // Nets now cost what should be most of a standard battery, since your taking someone out of the round else U << "They are already trapped inside an energy net." else diff --git a/code/game/gamemodes/events/ninja_equipment.dm b/code/game/gamemodes/events/ninja_equipment.dm index d25dabe21b..096f6b00ab 100644 --- a/code/game/gamemodes/events/ninja_equipment.dm +++ b/code/game/gamemodes/events/ninja_equipment.dm @@ -37,7 +37,7 @@ ________________________________________________________________________________ reagents.my_atom = src for(var/reagent_id in reagent_list) reagent_id == "radium" ? reagents.add_reagent(reagent_id, r_maxamount+(a_boost*a_transfer)) : reagents.add_reagent(reagent_id, r_maxamount)//It will take into account radium 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 = new/obj/item/weapon/cell/super//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. /obj/item/clothing/suit/space/space_ninja/Del() @@ -1385,7 +1385,8 @@ It is possible to destroy the net by the occupant or someone else. if(!isnull(master))//As long as they still exist. master << "\blue SUCCESS: \black transport procedure of \the [affecting] complete." - M.anchored = 0//Important. + M.captured = 0 //Important. + M.anchored = initial(M.anchored) //Changes the mob's anchored status to the original one; this is not handled by the can_move proc. else//And they are free. M << "\blue You are free of the net!" From 24be1d4a2397ee2a69bffc9d0cabf8335efb80f5 Mon Sep 17 00:00:00 2001 From: LightningIron Date: Wed, 8 Jan 2014 21:10:17 -0600 Subject: [PATCH 4/5] Fixed accidental change of ninja cell to super capacity. --- code/game/gamemodes/events/ninja_equipment.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/gamemodes/events/ninja_equipment.dm b/code/game/gamemodes/events/ninja_equipment.dm index 096f6b00ab..d2bd2dbc7b 100644 --- a/code/game/gamemodes/events/ninja_equipment.dm +++ b/code/game/gamemodes/events/ninja_equipment.dm @@ -37,7 +37,7 @@ ________________________________________________________________________________ reagents.my_atom = src for(var/reagent_id in reagent_list) reagent_id == "radium" ? reagents.add_reagent(reagent_id, r_maxamount+(a_boost*a_transfer)) : reagents.add_reagent(reagent_id, r_maxamount)//It will take into account radium used for adrenaline boosting. - cell = new/obj/item/weapon/cell/super//The suit should *always* have a battery because so many things rely on it. + 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. /obj/item/clothing/suit/space/space_ninja/Del() From 756214fbc796714cb55bf33934c4f5d9110206e0 Mon Sep 17 00:00:00 2001 From: LightningIron Date: Wed, 8 Jan 2014 21:13:55 -0600 Subject: [PATCH 5/5] Reverted lockbox removal which was on my master branch. Should be merged with next dev. --- code/modules/research/rdconsole.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index 103969bdd1..4cc18d6434 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -394,10 +394,10 @@ won't update every console in existence) but it's more of a hassle to do. Also, new_item.investigate_log("built by [key]","singulo") new_item.reliability = being_built.reliability if(linked_lathe.hacked) being_built.reliability = max((reliability / 2), 0) - /*if(being_built.locked) + if(being_built.locked) var/obj/item/weapon/storage/lockbox/L = new/obj/item/weapon/storage/lockbox(linked_lathe.loc) new_item.loc = L - L.name += " ([new_item.name])"*/ + L.name += " ([new_item.name])" else new_item.loc = linked_lathe.loc linked_lathe.busy = 0