From 4ac8a4164c5e7ebee7c2c98501b2080c4cc82d7d Mon Sep 17 00:00:00 2001 From: Incoming Date: Wed, 4 Dec 2013 21:00:36 -0500 Subject: [PATCH 1/6] Summon Magic / Charge / Wands&Staffs / One time spellbooks / New Apprentice --- Summon Magic: This new wizard spell works much like summon guns except it instead brings the crew magical tools and weapons. There are preexisting artifacts (minus some that would cause huge confusion/balance issues) as well as new spellbooks, wands, and a staff. The chance of survivor antag is the same as summon guns. --- Charge: This new spell allows for the recharging of otherwise unrefillable wands, but there's a heavy chance that the total number of charges will decrease with each casting until eventually they're impossible to keep recharging. As a bonus the charge spell can also be used to charge batteries and things that run on batteries (such as energy weapons). This carries the same max charge weardown penalties however. Lastly this spell allows a wizard to charge other wizards with a grab, reseting their spell cooldown. They cannot use it to charge themselves. It has a 60 second cooldown. The wizard cannot buy this spell himself, it only comes randomly to the crew during Summon Magic and with the new apprentice loadout. --- Wands&Staffs: Magic weapons have been overhauled into their own catagory so there won't be any more weirdness with batteries in staves or apparent magic resistance on things that reflect energy weapons. Wands have been added, these wands come precharged with a number of shots that can be fired off at their leasure but cannot be recharged once emptied (unless the charge spell is used). They come in a varity of exciting flavors: *Death: Slays instantly but has very few shots (1 to 3) *Resurrection: Revives and/or heals instantly but has very few shots (1 to 3) *Polymorph: Same function as the staff of change *Teleport: Weaponized blink spell that doesn't respect space tiles and can also warp away machinery or items (but not turf) *Door Creation: Puts easy access wooden doors in walls *Fireball: Same function (but slightly lower damage) as the fireball spell *Nothing: Lame and useless Wands can also be used on the user (unlike staves) by clicking on them. Warning messages have been added to a few wands so people don't accidentally zap themselves with the wand of death unless they really want to. Wands cannot be aquired by the wizard directly, and are only spawned during castings of summon magic. There is also a new staff, the staff of healing, which works as a recharging version of the wand of resurrection. The new apprentice starts with one of these, and they can also be found during summon magic. The wizard cannot purchase it directly, and as a stave he could not use it on himself anyways. --- One time spellbooks: Found exclusively in summon magic are one time use spellbooks that can teach any player a robeless spell. Once read the book vanishes. Books come in the following flavors: *fireball *smoke *blind *mindswap *forcewall *knock *curse of the horsemen *charge (described above) --- New apprentice: A fourth loadout for apprentice wizards has been added. This wizard is intended as a support role and comes with forcewall (for cover) and charge (used to keep him and the wizard well stocked in laser weaponry or to restore the wizard's cooldowns). It also comes equiped with a free Staff of Healing for keeping the wizard alive. Shoot the medic first folks. --- code/datums/spells/charge.dm | 74 ++++++ code/game/gamemodes/wizard/artefact.dm | 7 + code/game/gamemodes/wizard/rightandwrong.dm | 141 ++++++---- code/game/gamemodes/wizard/spellbook.dm | 95 ++++++- code/game/machinery/recharger.dm | 2 - code/game/machinery/turrets.dm | 2 +- .../projectiles/guns/energy/special.dm | 49 ---- code/modules/projectiles/guns/magic.dm | 56 ++++ code/modules/projectiles/guns/magic/staff.dm | 23 ++ code/modules/projectiles/guns/magic/wand.dm | 227 ++++++++++++++++ code/modules/projectiles/projectile/magic.dm | 249 ++++++++++++++++++ tgstation.dme | 49 +--- 12 files changed, 828 insertions(+), 146 deletions(-) create mode 100644 code/datums/spells/charge.dm create mode 100644 code/modules/projectiles/guns/magic.dm create mode 100644 code/modules/projectiles/guns/magic/staff.dm create mode 100644 code/modules/projectiles/guns/magic/wand.dm create mode 100644 code/modules/projectiles/projectile/magic.dm diff --git a/code/datums/spells/charge.dm b/code/datums/spells/charge.dm new file mode 100644 index 00000000000..0ace8c7d9cd --- /dev/null +++ b/code/datums/spells/charge.dm @@ -0,0 +1,74 @@ +/obj/effect/proc_holder/spell/targeted/charge + name = "Charge" + desc = "This spell can be used to charge up spent magical artifacts, among other things." + + school = "transmutation" + charge_max = 600 + clothes_req = 0 + invocation = "DIRI CEL" + invocation_type = "whisper" + range = -1 + cooldown_min = 400 //50 deciseconds reduction per rank + include_user = 1 + + +/obj/effect/proc_holder/spell/targeted/charge/cast(list/targets) + for(var/mob/living/user in targets) + var/list/hand_items = list(user.get_active_hand(),user.get_inactive_hand()) + var/charged_item = null + var/burnt_out = 0 + world << "[user.l_hand] and [user.r_hand]" + for(var/obj/item in hand_items) + if(istype(item, /obj/item/weapon/grab)) + var/obj/item/weapon/grab/G = item + if(G.affecting) + var/mob/M = G.affecting + if(M.spell_list.len != 0) + for(var/obj/effect/proc_holder/spell/S in M.spell_list) + S.charge_counter = S.charge_max + M <<"\blue you feel raw magic flowing through you, it feels good!" + else + M <<"\blue you feel very strange for a moment, but then it passes." + burnt_out = 1 + charged_item = M + break + else if(istype(item, /obj/item/weapon/gun/magic)) + var/obj/item/weapon/gun/magic/I = item + if(prob(80)) + I.max_charges-- + if(I.max_charges <= 0) + I.max_charges = 0 + burnt_out = 1 + I.charges = I.max_charges + charged_item = I + break + else if(istype(item, /obj/item/weapon/cell/)) + var/obj/item/weapon/cell/C = item + if(prob(80)) + C.maxcharge -= 200 + if(C.maxcharge <= 1) //Div by 0 protection + C.maxcharge = 1 + burnt_out = 1 + C.charge = C.maxcharge + charged_item = C + break + else if(item.contents) + var/obj/I = null + for(I in item.contents) + if(istype(I, /obj/item/weapon/cell/)) + var/obj/item/weapon/cell/C = I + if(prob(80)) + C.maxcharge -= 200 + if(C.maxcharge <= 1) //Div by 0 protection + C.maxcharge = 1 + burnt_out = 1 + C.charge = C.maxcharge + item.update_icon() + charged_item = item + break + if(!charged_item) + user << "\blue you feel magical power surging to your hands, but the feeling rapidly fades..." + else if(burnt_out) + user << "\red [charged_item] doesn't seem to be reacting to the spell..." + else + user << "\blue [charged_item] suddenly feels very warm!" diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm index 5bad56a6135..3d404dfc846 100644 --- a/code/game/gamemodes/wizard/artefact.dm +++ b/code/game/gamemodes/wizard/artefact.dm @@ -27,6 +27,8 @@ dat += "Your apprentice is skilled in offensive magic. They know Magic Missile and Fireball.
" dat += "Bluespace Manipulation
" dat += "Your apprentice is able to defy physics, melting through solid objects and travelling great distances in the blink of an eye. They know Teleport and Ethereal Jaunt.
" + dat += "Healing
" + dat += "Your apprentice is training to cast spells that will aid your survival. They know Forcewall and Charge and come with a Staff of Healing.
" dat += "Robeless
" dat += "Your apprentice is training to cast spells without their robes. They know Knock and Mindswap.
" user << browse(dat, "window=radio") @@ -66,6 +68,11 @@ M.spell_list += new /obj/effect/proc_holder/spell/targeted/area_teleport/teleport(M) M.spell_list += new /obj/effect/proc_holder/spell/targeted/ethereal_jaunt(M) M << "Your service has not gone unrewarded, however. Studying under [H.real_name], you have learned reality bending mobility spells. You are able to cast teleport and ethereal jaunt." + if("healing") + M.spell_list += new /obj/effect/proc_holder/spell/targeted/charge(M) + M.spell_list += new /obj/effect/proc_holder/spell/aoe_turf/conjure/forcewall(M) + M.equip_to_slot_or_del(new /obj/item/weapon/gun/magic/staff/healing(M), slot_r_hand) + M << "Your service has not gone unrewarded, however. Studying under [H.real_name], you have learned livesaving survival spells. You are able to cast charge and forcewall." if("robeless") M.spell_list += new /obj/effect/proc_holder/spell/aoe_turf/knock(M) M.spell_list += new /obj/effect/proc_holder/spell/targeted/mind_transfer(M) diff --git a/code/game/gamemodes/wizard/rightandwrong.dm b/code/game/gamemodes/wizard/rightandwrong.dm index c18732cdb01..4b0d7633e82 100644 --- a/code/game/gamemodes/wizard/rightandwrong.dm +++ b/code/game/gamemodes/wizard/rightandwrong.dm @@ -1,8 +1,8 @@ -/mob/proc/rightandwrong() - usr << "You summoned guns!" - message_admins("[key_name_admin(usr, 1)] summoned guns!") +/mob/proc/rightandwrong(var/summon_type) //0 = Summon Guns, 1 = Summon Magic + usr << "You summoned [summon_type ? "magic" : "guns"]!" + message_admins("[key_name_admin(usr, 1)] summoned [summon_type ? "magic" : "guns"]!") for(var/mob/living/carbon/human/H in player_list) if(H.stat == 2 || !(H.client)) continue if(is_special_character(H)) continue @@ -18,46 +18,95 @@ for(var/datum/objective/OBJ in H.mind.objectives) H << "Objective #[obj_count]: [OBJ.explanation_text]" obj_count++ - var/randomize = pick("taser","egun","laser","revolver","detective","smg","nuclear","deagle","gyrojet","pulse","silenced","cannon","doublebarrel","shotgun","combatshotgun","mateba","smg","uzi","crossbow","saw") - switch (randomize) - if("taser") - new /obj/item/weapon/gun/energy/taser(get_turf(H)) - if("egun") - new /obj/item/weapon/gun/energy/gun(get_turf(H)) - if("laser") - new /obj/item/weapon/gun/energy/laser(get_turf(H)) - if("revolver") - new /obj/item/weapon/gun/projectile/revolver(get_turf(H)) - if("detective") - new /obj/item/weapon/gun/projectile/revolver/detective(get_turf(H)) - if("smg") - new /obj/item/weapon/gun/projectile/automatic/c20r(get_turf(H)) - if("nuclear") - new /obj/item/weapon/gun/energy/gun/nuclear(get_turf(H)) - if("deagle") - new /obj/item/weapon/gun/projectile/automatic/deagle/camo(get_turf(H)) - if("gyrojet") - new /obj/item/weapon/gun/projectile/automatic/gyropistol(get_turf(H)) - if("pulse") - new /obj/item/weapon/gun/energy/pulse_rifle(get_turf(H)) - if("silenced") - new /obj/item/weapon/gun/projectile/automatic/pistol(get_turf(H)) - new /obj/item/weapon/silencer(get_turf(H)) - if("cannon") - new /obj/item/weapon/gun/energy/lasercannon(get_turf(H)) - if("doublebarrel") - new /obj/item/weapon/gun/projectile/revolver/doublebarrel(get_turf(H)) - if("shotgun") - new /obj/item/weapon/gun/projectile/shotgun/(get_turf(H)) - if("combatshotgun") - new /obj/item/weapon/gun/projectile/shotgun/combat(get_turf(H)) - if("mateba") - new /obj/item/weapon/gun/projectile/revolver/mateba(get_turf(H)) - if("smg") - new /obj/item/weapon/gun/projectile/automatic(get_turf(H)) - if("uzi") - new /obj/item/weapon/gun/projectile/automatic/mini_uzi(get_turf(H)) - if("crossbow") - new /obj/item/weapon/gun/energy/crossbow(get_turf(H)) - if("saw") - new /obj/item/weapon/gun/projectile/automatic/l6_saw(get_turf(H)) \ No newline at end of file + var/randomizeguns = pick("taser","egun","laser","revolver","detective","smg","nuclear","deagle","gyrojet","pulse","silenced","cannon","doublebarrel","shotgun","combatshotgun","mateba","smg","uzi","crossbow","saw") + var/randomizemagic = pick("fireball","smoke","blind","mindswap","forcewall","knock","horsemask","charge","wandnothing", "wanddeath", "wandresurrection", "wandpolymorph", "wandteleport", "wanddoor", "wandfireball", "staffchange", "staffanimation", "staffhealing", "armor", "scrying") + if(!summon_type) + switch (randomizeguns) + if("taser") + new /obj/item/weapon/gun/energy/taser(get_turf(H)) + if("egun") + new /obj/item/weapon/gun/energy/gun(get_turf(H)) + if("laser") + new /obj/item/weapon/gun/energy/laser(get_turf(H)) + if("revolver") + new /obj/item/weapon/gun/projectile/revolver(get_turf(H)) + if("detective") + new /obj/item/weapon/gun/projectile/revolver/detective(get_turf(H)) + if("smg") + new /obj/item/weapon/gun/projectile/automatic/c20r(get_turf(H)) + if("nuclear") + new /obj/item/weapon/gun/energy/gun/nuclear(get_turf(H)) + if("deagle") + new /obj/item/weapon/gun/projectile/automatic/deagle/camo(get_turf(H)) + if("gyrojet") + new /obj/item/weapon/gun/projectile/automatic/gyropistol(get_turf(H)) + if("pulse") + new /obj/item/weapon/gun/energy/pulse_rifle(get_turf(H)) + if("silenced") + new /obj/item/weapon/gun/projectile/automatic/pistol(get_turf(H)) + new /obj/item/weapon/silencer(get_turf(H)) + if("cannon") + new /obj/item/weapon/gun/energy/lasercannon(get_turf(H)) + if("doublebarrel") + new /obj/item/weapon/gun/projectile/revolver/doublebarrel(get_turf(H)) + if("shotgun") + new /obj/item/weapon/gun/projectile/shotgun/(get_turf(H)) + if("combatshotgun") + new /obj/item/weapon/gun/projectile/shotgun/combat(get_turf(H)) + if("mateba") + new /obj/item/weapon/gun/projectile/revolver/mateba(get_turf(H)) + if("smg") + new /obj/item/weapon/gun/projectile/automatic(get_turf(H)) + if("uzi") + new /obj/item/weapon/gun/projectile/automatic/mini_uzi(get_turf(H)) + if("crossbow") + new /obj/item/weapon/gun/energy/crossbow(get_turf(H)) + if("saw") + new /obj/item/weapon/gun/projectile/automatic/l6_saw(get_turf(H)) + else + switch (randomizemagic) + if("fireball") + new /obj/item/weapon/spellbook/oneuse/fireball(get_turf(H)) + if("smoke") + new /obj/item/weapon/spellbook/oneuse/smoke(get_turf(H)) + if("blind") + new /obj/item/weapon/spellbook/oneuse/blind(get_turf(H)) + if("mindswap") + new /obj/item/weapon/spellbook/oneuse/mindswap(get_turf(H)) + if("forcewall") + new /obj/item/weapon/spellbook/oneuse/forcewall(get_turf(H)) + if("knock") + new /obj/item/weapon/spellbook/oneuse/knock(get_turf(H)) + if("horsemask") + new /obj/item/weapon/spellbook/oneuse/horsemask(get_turf(H)) + if("charge") + new /obj/item/weapon/spellbook/oneuse/charge(get_turf(H)) + if("wandnothing") + new /obj/item/weapon/gun/magic/wand(get_turf(H)) + if("wanddeath") + new /obj/item/weapon/gun/magic/wand/death(get_turf(H)) + if("wandresurrection") + new /obj/item/weapon/gun/magic/wand/resurrection(get_turf(H)) + if("wandpolymorph") + new /obj/item/weapon/gun/magic/wand/polymorph(get_turf(H)) + if("wandteleport") + new /obj/item/weapon/gun/magic/wand/teleport(get_turf(H)) + if("wanddoor") + new /obj/item/weapon/gun/magic/wand/door(get_turf(H)) + if("staffchange") + new /obj/item/weapon/gun/magic/staff/change(get_turf(H)) + if("staffanimation") + new /obj/item/weapon/gun/magic/staff/animate(get_turf(H)) + if("staffhealing") + new /obj/item/weapon/gun/magic/staff/healing(get_turf(H)) + if("armor") + new /obj/item/clothing/suit/space/rig/wizard(get_turf(H)) + new /obj/item/clothing/head/helmet/space/rig/wizard(get_turf(H)) + if("scrying") + new /obj/item/weapon/scrying(get_turf(H)) + if (!(XRAY in H.mutations)) + H.mutations.Add(XRAY) + H.sight |= (SEE_MOBS|SEE_OBJS|SEE_TURFS) + H.see_in_dark = 8 + H.see_invisible = SEE_INVISIBLE_LEVEL_TWO + H << "\blue The walls suddenly disappear." diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm index 156554d486d..055e887981f 100644 --- a/code/game/gamemodes/wizard/spellbook.dm +++ b/code/game/gamemodes/wizard/spellbook.dm @@ -86,6 +86,9 @@ dat += "Summon Guns (One time use, global spell)
" dat += "Nothing could possibly go wrong with arming a crew of lunatics just itching for an excuse to kill eachother. Just be careful not to get hit in the crossfire!
" + dat += "Summon Magic (One time use, global spell)
" + dat += "Share the wonders of magic with the crew and show them why they aren't to be trusted with it at the same time.
" + dat += "
" dat += "Artefacts:
" dat += "Powerful items imbued with eldritch magics. Summoning one will count towards your maximum number of spells.
" @@ -150,7 +153,7 @@ uses-- /* */ - var/list/available_spells = list(magicmissile = "Magic Missile", fireball = "Fireball", disintegrate = "Disintegrate", disabletech = "Disable Tech", smoke = "Smoke", blind = "Blind", mindswap = "Mind Transfer", forcewall = "Forcewall", blink = "Blink", teleport = "Teleport", mutate = "Mutate", etherealjaunt = "Ethereal Jaunt", knock = "Knock", horseman = "Curse of the Horseman", fleshtostone = "Flesh to Stone", summonguns = "Summon Guns", staffchange = "Staff of Change", soulstone = "Six Soul Stone Shards and the spell Artificer", armor = "Mastercrafted Armor Set", staffanimate = "Staff of Animation") + var/list/available_spells = list(magicmissile = "Magic Missile", fireball = "Fireball", disintegrate = "Disintegrate", disabletech = "Disable Tech", smoke = "Smoke", blind = "Blind", mindswap = "Mind Transfer", forcewall = "Forcewall", blink = "Blink", teleport = "Teleport", mutate = "Mutate", etherealjaunt = "Ethereal Jaunt", knock = "Knock", horseman = "Curse of the Horseman", fleshtostone = "Flesh to Stone", summonguns = "Summon Guns", summonmagic = "Summon Magic", staffchange = "Staff of Change", soulstone = "Six Soul Stone Shards and the spell Artificer", armor = "Mastercrafted Armor Set", staffanimate = "Staff of Animation") var/already_knows = 0 for(var/obj/effect/proc_holder/spell/aspell in H.spell_list) if(available_spells[href_list["spell_choice"]] == initial(aspell.name)) @@ -246,12 +249,17 @@ temp = "You have learned flesh to stone." if("summonguns") feedback_add_details("wizard_spell_learned","SG") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells - H.rightandwrong() + H.rightandwrong(0) max_uses-- temp = "You have cast summon guns." + if("summonmagic") + feedback_add_details("wizard_spell_learned","SM") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells + H.rightandwrong(1) + max_uses-- + temp = "You have cast summon magic." if("staffchange") feedback_add_details("wizard_spell_learned","ST") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells - new /obj/item/weapon/gun/energy/staff(get_turf(H)) + new /obj/item/weapon/gun/magic/staff/change(get_turf(H)) temp = "You have purchased a staff of change." max_uses-- if("soulstone") @@ -270,7 +278,7 @@ max_uses-- if("staffanimation") feedback_add_details("wizard_spell_learned","SA") //please do not change the abbreviation to keep data processing consistent. Add a unique id to any new spells - new /obj/item/weapon/gun/energy/staff/animate(get_turf(H)) + new /obj/item/weapon/gun/magic/staff/animate(get_turf(H)) temp = "You have purchased a staff of animation." max_uses-- if("contract") @@ -295,3 +303,82 @@ attack_self(H) return + +//Single Use Spellbooks// + +/obj/item/weapon/spellbook/oneuse + var/spell = /obj/effect/proc_holder/spell/targeted/projectile/magic_missile //just a placeholder to avoid runtimes if someone spawned the generic + var/spellname = "sandbox" + name = "spellbook of " + uses = 1 + max_uses = 1 + desc = "This template spellbook was never meant for the eyes of man..." + +/obj/item/weapon/spellbook/oneuse/New() + ..() + name += spellname + +/obj/item/weapon/spellbook/oneuse/attack_self(mob/user as mob) + var/obj/effect/proc_holder/spell/S = new spell + for(var/obj/effect/proc_holder/spell/knownspell in user.spell_list) + if(knownspell.type == S.type) + if(user.mind) + if(user.mind.special_role == "apprentice" || user.mind.special_role == "wizard") + user <<"\blue You're already far more versed in this spell than this flimsy how-to book can provide." + else + user <<"\blue You've already read this one." + return + user.spell_list += S + user <<"\blue you rapidly read through the arcane book. Suddenly it vanishes and you realize you understand [spellname]!" + del (src) + +/obj/item/weapon/spellbook/oneuse/attackby() + return + +/obj/item/weapon/spellbook/oneuse/fireball + spell = /obj/effect/proc_holder/spell/dumbfire/fireball + spellname = "fireball" + icon_state ="book2" + desc = "This book feels warm to the touch." + +/obj/item/weapon/spellbook/oneuse/smoke + spell = /obj/effect/proc_holder/spell/targeted/smoke + spellname = "smoke" + icon_state ="book5" + desc = "This book is overflowing with the dank arts." + +/obj/item/weapon/spellbook/oneuse/blind + spell = /obj/effect/proc_holder/spell/targeted/trigger/blind + spellname = "blind" + icon_state ="book1" + desc = "This book looks blurry, no matter how you look at it." + +/obj/item/weapon/spellbook/oneuse/mindswap + spell = /obj/effect/proc_holder/spell/targeted/mind_transfer + spellname = "mindswap" + icon_state ="book6" + desc = "This book's cover is pristine, though its pages look ragged and torn." + +/obj/item/weapon/spellbook/oneuse/forcewall + spell = /obj/effect/proc_holder/spell/aoe_turf/conjure/forcewall + spellname = "forcewall" + icon_state ="book4" + desc = "This book has a dedication to mimes everywhere inside the front cover." + +/obj/item/weapon/spellbook/oneuse/knock + spell = /obj/effect/proc_holder/spell/aoe_turf/knock + spellname = "knock" + icon_state ="book7" + desc = "This book is hard to hold closed properly." + +/obj/item/weapon/spellbook/oneuse/horsemask + spell = /obj/effect/proc_holder/spell/targeted/horsemask + spellname = "horses" + icon_state ="book3" + desc = "This book is more horse than your mind has room for." + +/obj/item/weapon/spellbook/oneuse/charge + spell = /obj/effect/proc_holder/spell/targeted/charge + spellname = "charging" + icon_state ="bookInfections" + desc = "This book is made of 100% post-consumer wizard." \ No newline at end of file diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm index 4968f427ea2..11668d874c5 100644 --- a/code/game/machinery/recharger.dm +++ b/code/game/machinery/recharger.dm @@ -25,8 +25,6 @@ if (istype(G, /obj/item/weapon/gun/energy/gun/nuclear) || istype(G, /obj/item/weapon/gun/energy/crossbow)) user << "Your gun's recharge port was removed to make room for a miniaturized reactor." return - if (istype(G, /obj/item/weapon/gun/energy/staff)) - return user.drop_item() G.loc = src charging = G diff --git a/code/game/machinery/turrets.dm b/code/game/machinery/turrets.dm index 39da02b0e1d..2316f12f45a 100644 --- a/code/game/machinery/turrets.dm +++ b/code/game/machinery/turrets.dm @@ -219,7 +219,7 @@ if(3) A = new /obj/item/projectile/beam/pulse( loc ) if(4) - A = new /obj/item/projectile/change( loc ) + A = new /obj/item/projectile/magic/change( loc ) if(5) A = new /obj/item/projectile/bluetag( loc ) if(6) diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index 6b0d70beece..c1ed4531c26 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -26,55 +26,6 @@ charge_cost = 100 projectile_type = "/obj/item/projectile/energy/declone" -obj/item/weapon/gun/energy/staff - name = "staff of change" - desc = "An artefact that spits bolts of coruscating energy which cause the target's very form to reshape itself" - icon = 'icons/obj/gun.dmi' - icon_state = "staffofchange" - item_state = "staffofchange" - fire_sound = 'sound/weapons/emitter.ogg' - flags = FPRINT | TABLEPASS | CONDUCT - slot_flags = SLOT_BACK - w_class = 5 - charge_cost = 200 - projectile_type = "/obj/item/projectile/change" - origin_tech = null - clumsy_check = 0 - var/charge_tick = 0 - - - New() - ..() - processing_objects.Add(src) - - - Del() - processing_objects.Remove(src) - ..() - - - process() - charge_tick++ - if(charge_tick < 4) return 0 - charge_tick = 0 - if(!power_supply) return 0 - power_supply.give(200) - return 1 - - update_icon() - return - - shoot_with_empty_chamber(mob/living/user as mob|obj) - user << "The [name] whizzles quietly." - return - -/obj/item/weapon/gun/energy/staff/animate - name = "staff of animation" - desc = "An artefact that spits bolts of life-force which causes objects which are hit by it to animate and come to life! This magic doesn't affect machines." - projectile_type = "/obj/item/projectile/animate" - icon_state = "staffofanimation" - item_state = "staffofanimation" - /obj/item/weapon/gun/energy/floragun name = "floral somatoray" desc = "A tool that discharges controlled radiation which induces mutation in plant cells." diff --git a/code/modules/projectiles/guns/magic.dm b/code/modules/projectiles/guns/magic.dm new file mode 100644 index 00000000000..c719bd4f663 --- /dev/null +++ b/code/modules/projectiles/guns/magic.dm @@ -0,0 +1,56 @@ +/obj/item/weapon/gun/magic + name = "staff of nothing" + desc = "This staff is boring to watch because even though it came first you've seen everything it can do in other staves for years." + icon = 'icons/obj/gun.dmi' + icon_state = "staffofchange" + item_state = "staffofchange" + fire_sound = 'sound/weapons/emitter.ogg' + flags = FPRINT | TABLEPASS | CONDUCT + w_class = 5 + var/projectile_type = "/obj/item/projectile/magic" + var/max_charges = 6 + var/charges = 0 + var/recharge_rate = 4 + var/charge_tick = 0 + var/can_charge = 1 + origin_tech = null + clumsy_check = 0 + +/obj/item/weapon/gun/magic/emp_act(severity) + return + +/obj/item/weapon/gun/magic/process_chambered() + if(in_chamber) return 1 + if(!charges) return 0 + if(!projectile_type) return 0 + in_chamber = new projectile_type(src) + return 1 + +/obj/item/weapon/gun/magic/afterattack() + ..() + if(charges ) charges-- + +/obj/item/weapon/gun/magic/New() + ..() + charges = max_charges + if(can_charge) processing_objects.Add(src) + + +/obj/item/weapon/gun/magic/Del() + if(can_charge) processing_objects.Remove(src) + ..() + + +/obj/item/weapon/gun/magic/process() + charge_tick++ + if(charge_tick < recharge_rate || charges >= max_charges) return 0 + charge_tick = 0 + charges++ + return 1 + +/obj/item/weapon/gun/magic/update_icon() + return + +/obj/item/weapon/gun/magic/shoot_with_empty_chamber(mob/living/user as mob|obj) + user << "The [name] whizzles quietly." + return \ No newline at end of file diff --git a/code/modules/projectiles/guns/magic/staff.dm b/code/modules/projectiles/guns/magic/staff.dm new file mode 100644 index 00000000000..cff5d6e603d --- /dev/null +++ b/code/modules/projectiles/guns/magic/staff.dm @@ -0,0 +1,23 @@ +obj/item/weapon/gun/magic/staff/change + name = "staff of change" + desc = "An artefact that spits bolts of coruscating energy which cause the target's very form to reshape itself" + projectile_type = "/obj/item/projectile/magic/change" + icon_state = "staffofchange" + item_state = "staffofchange" + slot_flags = SLOT_BACK + +obj/item/weapon/gun/magic/staff/animate + name = "staff of animation" + desc = "An artefact that spits bolts of life-force which causes objects which are hit by it to animate and come to life! This magic doesn't affect machines." + projectile_type = "/obj/item/projectile/magic/animate" + icon_state = "staffofanimation" + item_state = "staffofanimation" + slot_flags = SLOT_BACK + +obj/item/weapon/gun/magic/staff/healing + name = "staff of healing" + desc = "An artefact that spits bolts of restoring magic which can remove ailments of all kinds and even raise the dead." + projectile_type = "/obj/item/projectile/magic/resurrection" + icon_state = "staffofanimation" + item_state = "staffofanimation" + slot_flags = SLOT_BACK \ No newline at end of file diff --git a/code/modules/projectiles/guns/magic/wand.dm b/code/modules/projectiles/guns/magic/wand.dm new file mode 100644 index 00000000000..479e1fda0c7 --- /dev/null +++ b/code/modules/projectiles/guns/magic/wand.dm @@ -0,0 +1,227 @@ +/obj/item/weapon/gun/magic/wand/ + name = "wand of nothing" + desc = "It's not just a stick, it's a MAGIC stick!" + projectile_type = "/obj/item/projectile/magic" + icon_state = "staffofanimation" + item_state = "staffofanimation" + w_class = 2 + can_charge = 0 + max_charges = 100 //100, 50, 50, 34 (max charge distribution by 25%ths) + w_class = 2 + +/obj/item/weapon/gun/magic/wand/New() + if(prob(75)) //25% chance of listed max charges, 50% chance of 1/2 max charges, 25% chance of 1/3 max charges + if(prob(33)) + max_charges = Ceiling(max_charges / 3) + else + max_charges = Ceiling(max_charges / 2) + ..() + +/obj/item/weapon/gun/magic/wand/examine() + ..() + usr << "Has [charges] charge\s remaining." + return + +/obj/item/weapon/gun/magic/wand/attack_self(mob/living/user as mob) + if(charges) + zap_self(user) + else + user << "The [name] whizzles quietly." + ..() + +/obj/item/weapon/gun/magic/wand/proc/zap_self(mob/living/user as mob) + user.visible_message("\blue [user] zaps \himself with [src]!") + +/obj/item/weapon/gun/magic/wand/death + name = "wand of death" + desc = "This deadly wand overwhelms the victim's body with pure energy, slaying them without fail." + projectile_type = "/obj/item/projectile/magic/death" + icon_state = "staffofanimation" + item_state = "staffofanimation" + max_charges = 3 //3, 2, 2, 1 + +/obj/item/weapon/gun/magic/wand/death/zap_self(mob/living/user as mob) + if(alert(user, "You really want to zap yourself with the wand of death?",, "Yes", "No") == "Yes" && charges && user.get_active_hand() == src && isliving(user)) + var/message ="\red You irradiate yourself with pure energy! " + message += pick("Do not pass go. Do not collect 200 zorkmids.","You feel more confident in your spell casting skills.","You Die...","Do you want your possessions identified?") + user << message + user.adjustOxyLoss(500) + charges-- + ..() + +/obj/item/weapon/gun/magic/wand/resurrection + name = "wand of resurrection" + desc = "This wand uses healing magics to heal and revive. They are rarely utilized within the Wizard Federation for some reason." + projectile_type = "/obj/item/projectile/magic/resurrection" + icon_state = "staffofanimation" + item_state = "staffofanimation" + max_charges = 3 //3, 2, 2, 1 + +/obj/item/weapon/gun/magic/wand/resurrection/zap_self(mob/living/user as mob) + user.setToxLoss(0) + user.setOxyLoss(0) + user.setCloneLoss(0) + user.SetParalysis(0) + user.SetStunned(0) + user.SetWeakened(0) + user.radiation = 0 + user.heal_overall_damage(user.getBruteLoss(), user.getFireLoss()) + user.reagents.clear_reagents() + user << "You feel great!" + charges-- + ..() + +/obj/item/weapon/gun/magic/wand/polymorph + name = "wand of polymorph" + desc = "This wand inflicts is attuned to chaos and will radically alter the victim's form." + projectile_type = "/obj/item/projectile/magic/change" + icon_state = "staffofanimation" + item_state = "staffofanimation" + max_charges = 10 //10, 5, 5, 4 + +/obj/item/weapon/gun/magic/wand/polymorph/zap_self(mob/living/user as mob) + if(alert(user, "Your new form might not have arms to zap with... Continue?",, "Yes", "No") == "Yes" && charges && user.get_active_hand() == src && isliving(user)) + if(user.monkeyizing) return + user.monkeyizing = 1 + user.canmove = 0 + user.icon = null + user.overlays.Cut() + user.invisibility = 101 + for(var/obj/item/W in user) + if(istype(W, /obj/item/weapon/implant)) //TODO: Carn. give implants a dropped() or something + del(W) + continue + W.layer = initial(W.layer) + W.loc = user.loc + W.dropped(user) + + var/mob/living/new_mob + + var/randomize = pick("monkey","robot","slime","xeno","human","animal") + switch(randomize) + if("monkey") + new_mob = new /mob/living/carbon/monkey(user.loc) + new_mob.universal_speak = 1 + if("robot") + new_mob = new /mob/living/silicon/robot(user.loc) + new_mob.gender = user.gender + new_mob.invisibility = 0 + new_mob.job = "Cyborg" + var/mob/living/silicon/robot/Robot = new_mob + Robot.mmi = new /obj/item/device/mmi(new_mob) + Robot.mmi.transfer_identity(user) //Does not transfer key/client. + if("slime") + if(prob(50)) new_mob = new /mob/living/carbon/slime/adult(user.loc) + else new_mob = new /mob/living/carbon/slime(user.loc) + new_mob.universal_speak = 1 + if("xeno") + if(prob(50)) + new_mob = new /mob/living/carbon/alien/humanoid/hunter(user.loc) + else + new_mob = new /mob/living/carbon/alien/humanoid/sentinel(user.loc) + new_mob.universal_speak = 1 + if("animal") + var/animal = pick("parrot","corgi","crab","pug","cat","carp","bear","mushroom","tomato","mouse","chicken","cow","lizard","chick") + switch(animal) + if("parrot") new_mob = new /mob/living/simple_animal/parrot(user.loc) + if("corgi") new_mob = new /mob/living/simple_animal/corgi(user.loc) + if("crab") new_mob = new /mob/living/simple_animal/crab(user.loc) + if("pug") new_mob = new /mob/living/simple_animal/pug(user.loc) + if("cat") new_mob = new /mob/living/simple_animal/cat(user.loc) + if("carp") new_mob = new /mob/living/simple_animal/hostile/carp(user.loc) + if("bear") new_mob = new /mob/living/simple_animal/hostile/bear(user.loc) + if("mushroom") new_mob = new /mob/living/simple_animal/mushroom(user.loc) + if("tomato") new_mob = new /mob/living/simple_animal/tomato(user.loc) + if("mouse") new_mob = new /mob/living/simple_animal/mouse(user.loc) + if("chicken") new_mob = new /mob/living/simple_animal/chicken(user.loc) + if("cow") new_mob = new /mob/living/simple_animal/cow(user.loc) + if("lizard") new_mob = new /mob/living/simple_animal/lizard(user.loc) + else new_mob = new /mob/living/simple_animal/chick(user.loc) + new_mob.universal_speak = 1 + if("human") + new_mob = new /mob/living/carbon/human(user.loc) + + var/datum/preferences/A = new() //Randomize appearance for the human + A.copy_to(new_mob) + + var/mob/living/carbon/human/H = new_mob + ready_dna(H) + if(H.dna) + H.dna.mutantrace = pick("lizard","golem","slime","plant","fly","shadow","adamantine","skeleton",8;"") + H.update_body() + else + return + + for (var/obj/effect/proc_holder/spell/S in user.spell_list) + new_mob.spell_list += new S.type + + new_mob.a_intent = "harm" + if(user.mind) + user.mind.transfer_to(new_mob) + else + new_mob.key = user.key + + new_mob << "Your form morphs into that of a [randomize]." + + del(user) + return new_mob + charges-- + ..() + +/obj/item/weapon/gun/magic/wand/teleport + name = "wand of teleportation" + desc = "This wand will wrench targets through space and time to move them somewhere else." + projectile_type = "/obj/item/projectile/magic/teleport" + icon_state = "staffofanimation" + item_state = "staffofanimation" + max_charges = 10 //10, 5, 5, 4 + +/obj/item/weapon/gun/magic/wand/teleport/zap_self(mob/living/user as mob) + var/list/turfs = new/list() + var/inner_tele_radius = 0 + var/outer_tele_radius = 6 + for(var/turf/T in range(user,outer_tele_radius)) + if(T in range(user,inner_tele_radius)) continue + if(T.x>world.maxx-outer_tele_radius || T.xworld.maxy-outer_tele_radius || T.yYou feel great!" + else + target << "You rise with a start, you're alive!!!" + +/obj/item/projectile/magic/teleport + name = "bolt of teleportation" + icon_state = "bluespace" + damage = 0 + damage_type = OXY + nodamage = 1 + flag = "magic" + var/inner_tele_radius = 0 + var/outer_tele_radius = 6 + +/obj/item/projectile/magic/teleport/on_hit(var/mob/target) + if(isturf(target)) + return + + var/list/turfs = new/list() + for(var/turf/T in range(target,outer_tele_radius)) + if(T in range(target,inner_tele_radius)) continue + if(T.x>world.maxx-outer_tele_radius || T.xworld.maxy-outer_tele_radius || T.yYour form morphs into that of a [randomize].
" + + del(M) + return new_mob + +/obj/item/projectile/magic/animate + name = "bolt of animation" + icon_state = "red_1" + damage = 0 + damage_type = BURN + nodamage = 1 + flag = "magic" + +/obj/item/projectile/magic/animate/Bump(var/atom/change) + . = ..() + if(istype(change, /obj/item) || istype(change, /obj/structure) && !is_type_in_list(change, protected_objects)) + var/obj/O = change + new /mob/living/simple_animal/hostile/mimic/copy(O.loc, O, firer) + else if(istype(change, /mob/living/simple_animal/hostile/mimic/copy)) + // Change our allegiance! + var/mob/living/simple_animal/hostile/mimic/copy/C = change + C.ChangeOwner(firer) \ No newline at end of file diff --git a/tgstation.dme b/tgstation.dme index 5bd8184b7dd..cbbb0dab917 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -6,48 +6,6 @@ // BEGIN_FILE_DIR #define FILE_DIR . -#define FILE_DIR "html" -#define FILE_DIR "icons" -#define FILE_DIR "icons/ass" -#define FILE_DIR "icons/effects" -#define FILE_DIR "icons/mecha" -#define FILE_DIR "icons/misc" -#define FILE_DIR "icons/mob" -#define FILE_DIR "icons/obj" -#define FILE_DIR "icons/obj/assemblies" -#define FILE_DIR "icons/obj/atmospherics" -#define FILE_DIR "icons/obj/clothing" -#define FILE_DIR "icons/obj/doors" -#define FILE_DIR "icons/obj/flora" -#define FILE_DIR "icons/obj/machines" -#define FILE_DIR "icons/obj/pipes" -#define FILE_DIR "icons/obj/power_cond" -#define FILE_DIR "icons/pda_icons" -#define FILE_DIR "icons/spideros_icons" -#define FILE_DIR "icons/stamp_icons" -#define FILE_DIR "icons/Testing" -#define FILE_DIR "icons/turf" -#define FILE_DIR "icons/vending_icons" -#define FILE_DIR "nano" -#define FILE_DIR "nano/images" -#define FILE_DIR "sound" -#define FILE_DIR "sound/AI" -#define FILE_DIR "sound/ambience" -#define FILE_DIR "sound/effects" -#define FILE_DIR "sound/hallucinations" -#define FILE_DIR "sound/items" -#define FILE_DIR "sound/machines" -#define FILE_DIR "sound/mecha" -#define FILE_DIR "sound/misc" -#define FILE_DIR "sound/piano" -#define FILE_DIR "sound/violin" -#define FILE_DIR "sound/voice" -#define FILE_DIR "sound/voice/complionator" -#define FILE_DIR "sound/vox_fem" -#define FILE_DIR "sound/weapons" -#define FILE_DIR "tools" -#define FILE_DIR "tools/AddToChangelog" -#define FILE_DIR "tools/AddToChangelog/AddToChangelog" // END_FILE_DIR // BEGIN_PREFERENCES @@ -216,6 +174,7 @@ #include "code\datums\helper_datums\teleport.dm" #include "code\datums\helper_datums\topic_input.dm" #include "code\datums\spells\area_teleport.dm" +#include "code\datums\spells\charge.dm" #include "code\datums\spells\conjure.dm" #include "code\datums\spells\construct_spells.dm" #include "code\datums\spells\dumbfire.dm" @@ -1122,6 +1081,7 @@ #include "code\modules\projectiles\ammunition\bullets.dm" #include "code\modules\projectiles\ammunition\magazines.dm" #include "code\modules\projectiles\guns\energy.dm" +#include "code\modules\projectiles\guns\magic.dm" #include "code\modules\projectiles\guns\projectile.dm" #include "code\modules\projectiles\guns\energy\laser.dm" #include "code\modules\projectiles\guns\energy\nuclear.dm" @@ -1129,15 +1089,16 @@ #include "code\modules\projectiles\guns\energy\special.dm" #include "code\modules\projectiles\guns\energy\stun.dm" #include "code\modules\projectiles\guns\energy\temperature.dm" +#include "code\modules\projectiles\guns\magic\staff.dm" +#include "code\modules\projectiles\guns\magic\wand.dm" #include "code\modules\projectiles\guns\projectile\automatic.dm" #include "code\modules\projectiles\guns\projectile\pistol.dm" #include "code\modules\projectiles\guns\projectile\revolver.dm" #include "code\modules\projectiles\guns\projectile\shotgun.dm" -#include "code\modules\projectiles\projectile\animate.dm" #include "code\modules\projectiles\projectile\beams.dm" #include "code\modules\projectiles\projectile\bullets.dm" -#include "code\modules\projectiles\projectile\change.dm" #include "code\modules\projectiles\projectile\energy.dm" +#include "code\modules\projectiles\projectile\magic.dm" #include "code\modules\projectiles\projectile\special.dm" #include "code\modules\reagents\Chemistry-Colours.dm" #include "code\modules\reagents\Chemistry-Holder.dm" From 51d12a75125e714c2ed3525a47a320d478cf89c5 Mon Sep 17 00:00:00 2001 From: Incoming Date: Mon, 9 Dec 2013 12:46:34 -0500 Subject: [PATCH 2/6] Adds all sprites for all wands, books, and the staff of healing Fixes an issue where someone spamming a wand might lose charges without actually firing the bolt Removes a few missed bugtesting lines Adds a var (variable_charges) to be disabled for wands with assured max charges for future use --- code/datums/spells/charge.dm | 1 - code/game/gamemodes/wizard/spellbook.dm | 16 ++++++------ code/modules/projectiles/guns/magic.dm | 2 +- code/modules/projectiles/guns/magic/staff.dm | 10 +++---- code/modules/projectiles/guns/magic/wand.dm | 26 +++++++------------ icons/mob/back.dmi | Bin 61318 -> 61699 bytes icons/mob/items_lefthand.dmi | Bin 146914 -> 147597 bytes icons/mob/items_righthand.dmi | Bin 148626 -> 149407 bytes icons/obj/gun.dmi | Bin 39055 -> 41183 bytes icons/obj/library.dmi | Bin 18517 -> 26874 bytes 10 files changed, 24 insertions(+), 31 deletions(-) diff --git a/code/datums/spells/charge.dm b/code/datums/spells/charge.dm index 0ace8c7d9cd..5f8e1635b44 100644 --- a/code/datums/spells/charge.dm +++ b/code/datums/spells/charge.dm @@ -17,7 +17,6 @@ var/list/hand_items = list(user.get_active_hand(),user.get_inactive_hand()) var/charged_item = null var/burnt_out = 0 - world << "[user.l_hand] and [user.r_hand]" for(var/obj/item in hand_items) if(istype(item, /obj/item/weapon/grab)) var/obj/item/weapon/grab/G = item diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm index 055e887981f..6254b9e3725 100644 --- a/code/game/gamemodes/wizard/spellbook.dm +++ b/code/game/gamemodes/wizard/spellbook.dm @@ -338,47 +338,47 @@ /obj/item/weapon/spellbook/oneuse/fireball spell = /obj/effect/proc_holder/spell/dumbfire/fireball spellname = "fireball" - icon_state ="book2" + icon_state ="bookfireball" desc = "This book feels warm to the touch." /obj/item/weapon/spellbook/oneuse/smoke spell = /obj/effect/proc_holder/spell/targeted/smoke spellname = "smoke" - icon_state ="book5" + icon_state ="booksmoke" desc = "This book is overflowing with the dank arts." /obj/item/weapon/spellbook/oneuse/blind spell = /obj/effect/proc_holder/spell/targeted/trigger/blind spellname = "blind" - icon_state ="book1" + icon_state ="bookblind" desc = "This book looks blurry, no matter how you look at it." /obj/item/weapon/spellbook/oneuse/mindswap spell = /obj/effect/proc_holder/spell/targeted/mind_transfer spellname = "mindswap" - icon_state ="book6" + icon_state ="bookmindswap" desc = "This book's cover is pristine, though its pages look ragged and torn." /obj/item/weapon/spellbook/oneuse/forcewall spell = /obj/effect/proc_holder/spell/aoe_turf/conjure/forcewall spellname = "forcewall" - icon_state ="book4" + icon_state ="bookforcewall" desc = "This book has a dedication to mimes everywhere inside the front cover." /obj/item/weapon/spellbook/oneuse/knock spell = /obj/effect/proc_holder/spell/aoe_turf/knock spellname = "knock" - icon_state ="book7" + icon_state ="bookknock" desc = "This book is hard to hold closed properly." /obj/item/weapon/spellbook/oneuse/horsemask spell = /obj/effect/proc_holder/spell/targeted/horsemask spellname = "horses" - icon_state ="book3" + icon_state ="bookhorses" desc = "This book is more horse than your mind has room for." /obj/item/weapon/spellbook/oneuse/charge spell = /obj/effect/proc_holder/spell/targeted/charge spellname = "charging" - icon_state ="bookInfections" + icon_state ="bookcharge" desc = "This book is made of 100% post-consumer wizard." \ No newline at end of file diff --git a/code/modules/projectiles/guns/magic.dm b/code/modules/projectiles/guns/magic.dm index c719bd4f663..29ea645df6b 100644 --- a/code/modules/projectiles/guns/magic.dm +++ b/code/modules/projectiles/guns/magic.dm @@ -28,7 +28,7 @@ /obj/item/weapon/gun/magic/afterattack() ..() - if(charges ) charges-- + if(charges && !in_chamber) charges-- /obj/item/weapon/gun/magic/New() ..() diff --git a/code/modules/projectiles/guns/magic/staff.dm b/code/modules/projectiles/guns/magic/staff.dm index cff5d6e603d..dd38641e184 100644 --- a/code/modules/projectiles/guns/magic/staff.dm +++ b/code/modules/projectiles/guns/magic/staff.dm @@ -1,10 +1,12 @@ +obj/item/weapon/gun/magic/staff/ + slot_flags = SLOT_BACK + obj/item/weapon/gun/magic/staff/change name = "staff of change" desc = "An artefact that spits bolts of coruscating energy which cause the target's very form to reshape itself" projectile_type = "/obj/item/projectile/magic/change" icon_state = "staffofchange" item_state = "staffofchange" - slot_flags = SLOT_BACK obj/item/weapon/gun/magic/staff/animate name = "staff of animation" @@ -12,12 +14,10 @@ obj/item/weapon/gun/magic/staff/animate projectile_type = "/obj/item/projectile/magic/animate" icon_state = "staffofanimation" item_state = "staffofanimation" - slot_flags = SLOT_BACK obj/item/weapon/gun/magic/staff/healing name = "staff of healing" desc = "An artefact that spits bolts of restoring magic which can remove ailments of all kinds and even raise the dead." projectile_type = "/obj/item/projectile/magic/resurrection" - icon_state = "staffofanimation" - item_state = "staffofanimation" - slot_flags = SLOT_BACK \ No newline at end of file + icon_state = "staffofhealing" + item_state = "staffofhealing" diff --git a/code/modules/projectiles/guns/magic/wand.dm b/code/modules/projectiles/guns/magic/wand.dm index 479e1fda0c7..7ca916232c9 100644 --- a/code/modules/projectiles/guns/magic/wand.dm +++ b/code/modules/projectiles/guns/magic/wand.dm @@ -2,15 +2,15 @@ name = "wand of nothing" desc = "It's not just a stick, it's a MAGIC stick!" projectile_type = "/obj/item/projectile/magic" - icon_state = "staffofanimation" - item_state = "staffofanimation" + icon_state = "wand6" + item_state = "wand" w_class = 2 can_charge = 0 max_charges = 100 //100, 50, 50, 34 (max charge distribution by 25%ths) - w_class = 2 + var/variable_charges = 1 /obj/item/weapon/gun/magic/wand/New() - if(prob(75)) //25% chance of listed max charges, 50% chance of 1/2 max charges, 25% chance of 1/3 max charges + if(prob(75) && variable_charges) //25% chance of listed max charges, 50% chance of 1/2 max charges, 25% chance of 1/3 max charges if(prob(33)) max_charges = Ceiling(max_charges / 3) else @@ -36,8 +36,7 @@ name = "wand of death" desc = "This deadly wand overwhelms the victim's body with pure energy, slaying them without fail." projectile_type = "/obj/item/projectile/magic/death" - icon_state = "staffofanimation" - item_state = "staffofanimation" + icon_state = "wand4" max_charges = 3 //3, 2, 2, 1 /obj/item/weapon/gun/magic/wand/death/zap_self(mob/living/user as mob) @@ -53,8 +52,7 @@ name = "wand of resurrection" desc = "This wand uses healing magics to heal and revive. They are rarely utilized within the Wizard Federation for some reason." projectile_type = "/obj/item/projectile/magic/resurrection" - icon_state = "staffofanimation" - item_state = "staffofanimation" + icon_state = "wand1" max_charges = 3 //3, 2, 2, 1 /obj/item/weapon/gun/magic/wand/resurrection/zap_self(mob/living/user as mob) @@ -75,8 +73,7 @@ name = "wand of polymorph" desc = "This wand inflicts is attuned to chaos and will radically alter the victim's form." projectile_type = "/obj/item/projectile/magic/change" - icon_state = "staffofanimation" - item_state = "staffofanimation" + icon_state = "wand5" max_charges = 10 //10, 5, 5, 4 /obj/item/weapon/gun/magic/wand/polymorph/zap_self(mob/living/user as mob) @@ -172,8 +169,7 @@ name = "wand of teleportation" desc = "This wand will wrench targets through space and time to move them somewhere else." projectile_type = "/obj/item/projectile/magic/teleport" - icon_state = "staffofanimation" - item_state = "staffofanimation" + icon_state = "wand3" max_charges = 10 //10, 5, 5, 4 /obj/item/weapon/gun/magic/wand/teleport/zap_self(mob/living/user as mob) @@ -205,8 +201,7 @@ name = "wand of door creation" desc = "This particular wand can create doors in any wall for the unscrupulous wizard who shuns teleportation magics." projectile_type = "/obj/item/projectile/magic/door" - icon_state = "staffofanimation" - item_state = "staffofanimation" + icon_state = "wand0" max_charges = 20 //20, 10, 10, 7 /obj/item/weapon/gun/magic/wand/door/zap_self() @@ -216,8 +211,7 @@ name = "wand of fireball" desc = "This wand shoots scorching balls of fire that explode into destructive flames." projectile_type = "/obj/item/projectile/magic/fireball" - icon_state = "staffofanimation" - item_state = "staffofanimation" + icon_state = "wand2" max_charges = 8 //8, 4, 4, 3 /obj/item/weapon/gun/magic/wand/fireball/zap_self(mob/living/user as mob) diff --git a/icons/mob/back.dmi b/icons/mob/back.dmi index 0e1f856265003e2c963254e35285ff2c9d71a749..503bf48edc5f86021d6d8bac2a6e2dac59435825 100644 GIT binary patch delta 19032 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 QZ2$lO07*qoM6N<$f|l^-ga7~l delta 18665 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 Rw2T1=JYD@<);T3K0RWZ02&Mo4 diff --git a/icons/mob/items_lefthand.dmi b/icons/mob/items_lefthand.dmi index d89190c58eec88dba65e1a636c46f36d983618c0..deae052370bd3318905b7c8f3ceb8587508e68fd 100644 GIT binary patch delta 6623 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 delta 5934 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 ZG`bQ_o76(_Ujv7Tpz8P4zNtPA`G4J*k_rF- diff --git a/icons/mob/items_righthand.dmi b/icons/mob/items_righthand.dmi index 16568a4452d799ca158e250bc16e96cd42582882..423cbc5fb01b4a90d3f191fa37931536e7aa1aaa 100644 GIT binary patch delta 9921 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 TUKmM%y`-rrYdtA@Y#I806cybP diff --git a/icons/obj/gun.dmi b/icons/obj/gun.dmi index 53237188526ca78c221c4c3316a4911807998341..5f35fd26c27953731c5721a93d4d763cece3322c 100644 GIT binary patch literal 41183 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 BG`;`; literal 39055 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 }1np*U#26X!DpdVW=Qi>P8 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 C8pRR- literal 18517 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 Date: Tue, 10 Dec 2013 01:04:16 -0500 Subject: [PATCH 3/6] Code optimization and copypasta removal: the teleport wand now uses do_teleport the polymorph wand now uses wabbajack in both instances You can now click on yourself while holding a wand to cast it on yourself in addition to clicking on the wand itself. Changed how guns/magic are given out slightly. Previously no antag could get a gun/magic thing (including survivors made by the spell in the case of multicasting) but now antags who aren't the wizard or an apprentice of the wizard also get one. Fixed a few bugs on accidentally burning charges by click in places tht wouldn't actually fire the wand/staff --- code/game/gamemodes/wizard/rightandwrong.dm | 3 +- code/game/gamemodes/wizard/spellbook.dm | 2 +- code/modules/projectiles/guns/magic.dm | 4 +- code/modules/projectiles/guns/magic/wand.dm | 128 ++--------- code/modules/projectiles/projectile/magic.dm | 210 +++++++++---------- 5 files changed, 122 insertions(+), 225 deletions(-) diff --git a/code/game/gamemodes/wizard/rightandwrong.dm b/code/game/gamemodes/wizard/rightandwrong.dm index 4b0d7633e82..891a2dbff7c 100644 --- a/code/game/gamemodes/wizard/rightandwrong.dm +++ b/code/game/gamemodes/wizard/rightandwrong.dm @@ -5,7 +5,8 @@ message_admins("[key_name_admin(usr, 1)] summoned [summon_type ? "magic" : "guns"]!") for(var/mob/living/carbon/human/H in player_list) if(H.stat == 2 || !(H.client)) continue - if(is_special_character(H)) continue + if(H.mind) + if(H.mind.special_role == "Wizard" || H.mind.special_role == "apprentice") continue if(prob(25)) ticker.mode.traitors += H.mind H.mind.special_role = "traitor" diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm index 6254b9e3725..cdc1610aebb 100644 --- a/code/game/gamemodes/wizard/spellbook.dm +++ b/code/game/gamemodes/wizard/spellbook.dm @@ -323,7 +323,7 @@ for(var/obj/effect/proc_holder/spell/knownspell in user.spell_list) if(knownspell.type == S.type) if(user.mind) - if(user.mind.special_role == "apprentice" || user.mind.special_role == "wizard") + if(user.mind.special_role == "apprentice" || user.mind.special_role == "Wizard") user <<"\blue You're already far more versed in this spell than this flimsy how-to book can provide." else user <<"\blue You've already read this one." diff --git a/code/modules/projectiles/guns/magic.dm b/code/modules/projectiles/guns/magic.dm index 29ea645df6b..c38d46822d5 100644 --- a/code/modules/projectiles/guns/magic.dm +++ b/code/modules/projectiles/guns/magic.dm @@ -26,9 +26,9 @@ in_chamber = new projectile_type(src) return 1 -/obj/item/weapon/gun/magic/afterattack() +/obj/item/weapon/gun/magic/afterattack(atom/target as mob, mob/living/user as mob, flag) ..() - if(charges && !in_chamber) charges-- + if(charges && !in_chamber && !flag) charges-- /obj/item/weapon/gun/magic/New() ..() diff --git a/code/modules/projectiles/guns/magic/wand.dm b/code/modules/projectiles/guns/magic/wand.dm index 7ca916232c9..5896ecb4f58 100644 --- a/code/modules/projectiles/guns/magic/wand.dm +++ b/code/modules/projectiles/guns/magic/wand.dm @@ -29,6 +29,20 @@ user << "The [name] whizzles quietly." ..() +/obj/item/weapon/gun/magic/wand/attack(atom/target as mob, mob/living/user as mob) + if(target == user) + return + ..() + +/obj/item/weapon/gun/magic/wand/afterattack(atom/target as mob, mob/living/user as mob) + if(target == user) + if(charges) + zap_self(user) + else + user << "The [name] whizzles quietly." + else + ..() + /obj/item/weapon/gun/magic/wand/proc/zap_self(mob/living/user as mob) user.visible_message("\blue [user] zaps \himself with [src]!") @@ -71,99 +85,16 @@ /obj/item/weapon/gun/magic/wand/polymorph name = "wand of polymorph" - desc = "This wand inflicts is attuned to chaos and will radically alter the victim's form." + desc = "This wand is attuned to chaos and will radically alter the victim's form." projectile_type = "/obj/item/projectile/magic/change" icon_state = "wand5" max_charges = 10 //10, 5, 5, 4 /obj/item/weapon/gun/magic/wand/polymorph/zap_self(mob/living/user as mob) if(alert(user, "Your new form might not have arms to zap with... Continue?",, "Yes", "No") == "Yes" && charges && user.get_active_hand() == src && isliving(user)) - if(user.monkeyizing) return - user.monkeyizing = 1 - user.canmove = 0 - user.icon = null - user.overlays.Cut() - user.invisibility = 101 - for(var/obj/item/W in user) - if(istype(W, /obj/item/weapon/implant)) //TODO: Carn. give implants a dropped() or something - del(W) - continue - W.layer = initial(W.layer) - W.loc = user.loc - W.dropped(user) - - var/mob/living/new_mob - - var/randomize = pick("monkey","robot","slime","xeno","human","animal") - switch(randomize) - if("monkey") - new_mob = new /mob/living/carbon/monkey(user.loc) - new_mob.universal_speak = 1 - if("robot") - new_mob = new /mob/living/silicon/robot(user.loc) - new_mob.gender = user.gender - new_mob.invisibility = 0 - new_mob.job = "Cyborg" - var/mob/living/silicon/robot/Robot = new_mob - Robot.mmi = new /obj/item/device/mmi(new_mob) - Robot.mmi.transfer_identity(user) //Does not transfer key/client. - if("slime") - if(prob(50)) new_mob = new /mob/living/carbon/slime/adult(user.loc) - else new_mob = new /mob/living/carbon/slime(user.loc) - new_mob.universal_speak = 1 - if("xeno") - if(prob(50)) - new_mob = new /mob/living/carbon/alien/humanoid/hunter(user.loc) - else - new_mob = new /mob/living/carbon/alien/humanoid/sentinel(user.loc) - new_mob.universal_speak = 1 - if("animal") - var/animal = pick("parrot","corgi","crab","pug","cat","carp","bear","mushroom","tomato","mouse","chicken","cow","lizard","chick") - switch(animal) - if("parrot") new_mob = new /mob/living/simple_animal/parrot(user.loc) - if("corgi") new_mob = new /mob/living/simple_animal/corgi(user.loc) - if("crab") new_mob = new /mob/living/simple_animal/crab(user.loc) - if("pug") new_mob = new /mob/living/simple_animal/pug(user.loc) - if("cat") new_mob = new /mob/living/simple_animal/cat(user.loc) - if("carp") new_mob = new /mob/living/simple_animal/hostile/carp(user.loc) - if("bear") new_mob = new /mob/living/simple_animal/hostile/bear(user.loc) - if("mushroom") new_mob = new /mob/living/simple_animal/mushroom(user.loc) - if("tomato") new_mob = new /mob/living/simple_animal/tomato(user.loc) - if("mouse") new_mob = new /mob/living/simple_animal/mouse(user.loc) - if("chicken") new_mob = new /mob/living/simple_animal/chicken(user.loc) - if("cow") new_mob = new /mob/living/simple_animal/cow(user.loc) - if("lizard") new_mob = new /mob/living/simple_animal/lizard(user.loc) - else new_mob = new /mob/living/simple_animal/chick(user.loc) - new_mob.universal_speak = 1 - if("human") - new_mob = new /mob/living/carbon/human(user.loc) - - var/datum/preferences/A = new() //Randomize appearance for the human - A.copy_to(new_mob) - - var/mob/living/carbon/human/H = new_mob - ready_dna(H) - if(H.dna) - H.dna.mutantrace = pick("lizard","golem","slime","plant","fly","shadow","adamantine","skeleton",8;"") - H.update_body() - else - return - - for (var/obj/effect/proc_holder/spell/S in user.spell_list) - new_mob.spell_list += new S.type - - new_mob.a_intent = "harm" - if(user.mind) - user.mind.transfer_to(new_mob) - else - new_mob.key = user.key - - new_mob << "Your form morphs into that of a [randomize]." - - del(user) - return new_mob + ..() //because the user mob ceases to exists by the time wabbajack fully resolves + wabbajack(user) charges-- - ..() /obj/item/weapon/gun/magic/wand/teleport name = "wand of teleportation" @@ -173,27 +104,10 @@ max_charges = 10 //10, 5, 5, 4 /obj/item/weapon/gun/magic/wand/teleport/zap_self(mob/living/user as mob) - var/list/turfs = new/list() - var/inner_tele_radius = 0 - var/outer_tele_radius = 6 - for(var/turf/T in range(user,outer_tele_radius)) - if(T in range(user,inner_tele_radius)) continue - if(T.x>world.maxx-outer_tele_radius || T.xworld.maxy-outer_tele_radius || T.yworld.maxx-outer_tele_radius || T.xworld.maxy-outer_tele_radius || T.yYour form morphs into that of a [randomize].
" + /*var/alien_caste = pick("Hunter","Sentinel","Drone","Larva") + switch(alien_caste) + if("Hunter") new_mob = new /mob/living/carbon/alien/humanoid/hunter(M.loc) + if("Sentinel") new_mob = new /mob/living/carbon/alien/humanoid/sentinel(M.loc) + if("Drone") new_mob = new /mob/living/carbon/alien/humanoid/drone(M.loc) + else new_mob = new /mob/living/carbon/alien/larva(M.loc) + new_mob.universal_speak = 1*/ + if("animal") + var/animal = pick("parrot","corgi","crab","pug","cat","carp","bear","mushroom","tomato","mouse","chicken","cow","lizard","chick") + switch(animal) + if("parrot") new_mob = new /mob/living/simple_animal/parrot(M.loc) + if("corgi") new_mob = new /mob/living/simple_animal/corgi(M.loc) + if("crab") new_mob = new /mob/living/simple_animal/crab(M.loc) + if("pug") new_mob = new /mob/living/simple_animal/pug(M.loc) + if("cat") new_mob = new /mob/living/simple_animal/cat(M.loc) + if("carp") new_mob = new /mob/living/simple_animal/hostile/carp(M.loc) + if("bear") new_mob = new /mob/living/simple_animal/hostile/bear(M.loc) + if("mushroom") new_mob = new /mob/living/simple_animal/mushroom(M.loc) + if("tomato") new_mob = new /mob/living/simple_animal/tomato(M.loc) + if("mouse") new_mob = new /mob/living/simple_animal/mouse(M.loc) + if("chicken") new_mob = new /mob/living/simple_animal/chicken(M.loc) + if("cow") new_mob = new /mob/living/simple_animal/cow(M.loc) + if("lizard") new_mob = new /mob/living/simple_animal/lizard(M.loc) + else new_mob = new /mob/living/simple_animal/chick(M.loc) + new_mob.universal_speak = 1 + if("human") + new_mob = new /mob/living/carbon/human(M.loc) - del(M) - return new_mob + var/datum/preferences/A = new() //Randomize appearance for the human + A.copy_to(new_mob) + + var/mob/living/carbon/human/H = new_mob + ready_dna(H) + if(H.dna) + H.dna.mutantrace = pick("lizard","golem","slime","plant","fly","shadow","adamantine","skeleton",8;"") + H.update_body() + else + return + + for (var/obj/effect/proc_holder/spell/S in M.spell_list) + new_mob.spell_list += new S.type + + new_mob.a_intent = "harm" + if(M.mind) + M.mind.transfer_to(new_mob) + else + new_mob.key = M.key + + new_mob << "Your form morphs into that of a [randomize]." + + del(M) + return new_mob /obj/item/projectile/magic/animate name = "bolt of animation" From c396c3ae8aa6359608b6f3977086b257c406c41c Mon Sep 17 00:00:00 2001 From: Incoming Date: Thu, 12 Dec 2013 00:24:51 -0500 Subject: [PATCH 4/6] Suggestion implimentation patch! *Span classes the whole update *Spellbooks no longer vanish after being used, instead used spellbooks now have various bad effects should they be attempted to learned from again (the original reader won't acidentally fall to this, as they will just say "I've already read this"). Leave em out as traps for people or properly dispose of your trash! Or... *The charge spell can now attempt to recharge one use spellbooks so someone else can learn the spell. This only has a 20% success rate and will destroy the book should it fail (even if the book was actually unused). You can't attempt this on the wizard's spellbook *The "staff of nothing" (functional) placeholder now uses the generic staff sprites *Spellbooks can now be placed in bookshelves just like normal books *The teleport spell won't yank anchored things anymore, but as a consolation it will warp the entire contents of a tile should it be targeted. The code has been tweeked so this shouldn't effect the server too bad even if large numbers of items are warped to unique locations this way --- code/datums/spells/charge.dm | 19 +++-- code/game/gamemodes/wizard/spellbook.dm | 84 +++++++++++++++++-- code/modules/library/lib_items.dm | 2 +- code/modules/projectiles/guns/magic.dm | 4 +- code/modules/projectiles/guns/magic/wand.dm | 10 +-- code/modules/projectiles/projectile/magic.dm | 17 ++-- icons/obj/gun.dmi | Bin 41183 -> 41333 bytes 7 files changed, 111 insertions(+), 25 deletions(-) diff --git a/code/datums/spells/charge.dm b/code/datums/spells/charge.dm index 5f8e1635b44..342e11049eb 100644 --- a/code/datums/spells/charge.dm +++ b/code/datums/spells/charge.dm @@ -25,12 +25,21 @@ if(M.spell_list.len != 0) for(var/obj/effect/proc_holder/spell/S in M.spell_list) S.charge_counter = S.charge_max - M <<"\blue you feel raw magic flowing through you, it feels good!" + M <<"you feel raw magic flowing through you, it feels good!" else - M <<"\blue you feel very strange for a moment, but then it passes." + M <<"you feel very strange for a moment, but then it passes." burnt_out = 1 charged_item = M break + else if(istype(item, /obj/item/weapon/spellbook/oneuse)) + var/obj/item/weapon/spellbook/oneuse/I = item + if(prob(80)) + user.visible_message("[I] catches fire!") + del(I) + else + I.used = 0 + charged_item = I + break else if(istype(item, /obj/item/weapon/gun/magic)) var/obj/item/weapon/gun/magic/I = item if(prob(80)) @@ -66,8 +75,8 @@ charged_item = item break if(!charged_item) - user << "\blue you feel magical power surging to your hands, but the feeling rapidly fades..." + user << "you feel magical power surging to your hands, but the feeling rapidly fades..." else if(burnt_out) - user << "\red [charged_item] doesn't seem to be reacting to the spell..." + user << "[charged_item] doesn't seem to be reacting to the spell..." else - user << "\blue [charged_item] suddenly feels very warm!" + user << "[charged_item] suddenly feels very warm!" diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm index cdc1610aebb..375a5129c4a 100644 --- a/code/game/gamemodes/wizard/spellbook.dm +++ b/code/game/gamemodes/wizard/spellbook.dm @@ -309,6 +309,7 @@ /obj/item/weapon/spellbook/oneuse var/spell = /obj/effect/proc_holder/spell/targeted/projectile/magic_missile //just a placeholder to avoid runtimes if someone spawned the generic var/spellname = "sandbox" + var/used = 0 name = "spellbook of " uses = 1 max_uses = 1 @@ -324,13 +325,23 @@ if(knownspell.type == S.type) if(user.mind) if(user.mind.special_role == "apprentice" || user.mind.special_role == "Wizard") - user <<"\blue You're already far more versed in this spell than this flimsy how-to book can provide." + user <<"You're already far more versed in this spell than this flimsy how-to book can provide." else - user <<"\blue You've already read this one." + user <<"You've already read this one." return - user.spell_list += S - user <<"\blue you rapidly read through the arcane book. Suddenly it vanishes and you realize you understand [spellname]!" - del (src) + if(used) + recoil(user) + else + user.spell_list += S + user <<"you rapidly read through the arcane book. Suddenly you realize you understand [spellname]!" + onlearned(user) + +/obj/item/weapon/spellbook/oneuse/proc/recoil(mob/user as mob) + user.visible_message("[src] glows in a black light!") + +/obj/item/weapon/spellbook/oneuse/proc/onlearned(mob/user as mob) + used = 1 + user.visible_message("[src] glows dark for a second!") /obj/item/weapon/spellbook/oneuse/attackby() return @@ -341,44 +352,105 @@ icon_state ="bookfireball" desc = "This book feels warm to the touch." +/obj/item/weapon/spellbook/oneuse/fireball/recoil(mob/user as mob) + ..() + explosion(user.loc, -1, 0, 2, 3, 0, flame_range = 2) + del(src) + /obj/item/weapon/spellbook/oneuse/smoke spell = /obj/effect/proc_holder/spell/targeted/smoke spellname = "smoke" icon_state ="booksmoke" desc = "This book is overflowing with the dank arts." +/obj/item/weapon/spellbook/oneuse/smoke/recoil(mob/user as mob) + ..() + user <<"Your stomach rumbles..." + if(user.nutrition) + user.nutrition -= 200 + if(user.nutrition <= 0) + user.nutrition = 0 + /obj/item/weapon/spellbook/oneuse/blind spell = /obj/effect/proc_holder/spell/targeted/trigger/blind spellname = "blind" icon_state ="bookblind" desc = "This book looks blurry, no matter how you look at it." +/obj/item/weapon/spellbook/oneuse/blind/recoil(mob/user as mob) + ..() + user <<"You go blind!" + user.eye_blind = 10 + /obj/item/weapon/spellbook/oneuse/mindswap spell = /obj/effect/proc_holder/spell/targeted/mind_transfer spellname = "mindswap" icon_state ="bookmindswap" desc = "This book's cover is pristine, though its pages look ragged and torn." +/obj/item/weapon/spellbook/oneuse/mindswap/onlearned() + spellname = pick("fireball","smoke","blind","forcewall","knock","horses","charge") + icon_state = "book[spellname]" + name = "spellbook of [spellname]" //Note, desc doesn't change by design + ..() + +/obj/item/weapon/spellbook/oneuse/mindswap/recoil(mob/user as mob) + ..() + user <<"You suddenly don't feel like yourself!" + wabbajack(user) + /obj/item/weapon/spellbook/oneuse/forcewall spell = /obj/effect/proc_holder/spell/aoe_turf/conjure/forcewall spellname = "forcewall" icon_state ="bookforcewall" desc = "This book has a dedication to mimes everywhere inside the front cover." +/obj/item/weapon/spellbook/oneuse/forcewall/recoil(mob/user as mob) + ..() + user <<"You suddenly feel very solid!" + var/obj/structure/closet/statue/S = new /obj/structure/closet/statue(user.loc, user) + S.timer = 30 + user.drop_item() + + /obj/item/weapon/spellbook/oneuse/knock spell = /obj/effect/proc_holder/spell/aoe_turf/knock spellname = "knock" icon_state ="bookknock" desc = "This book is hard to hold closed properly." +/obj/item/weapon/spellbook/oneuse/knock/recoil(mob/user as mob) + ..() + user <<"You're knocked down!" + user.Stun(20) + user.Weaken(20) + /obj/item/weapon/spellbook/oneuse/horsemask spell = /obj/effect/proc_holder/spell/targeted/horsemask spellname = "horses" icon_state ="bookhorses" desc = "This book is more horse than your mind has room for." +/obj/item/weapon/spellbook/oneuse/horsemask/recoil(mob/living/carbon/user as mob) + if(istype(user, /mob/living/carbon/human)) + user <<"HOR-SIE HAS RISEN" + var/obj/item/clothing/mask/horsehead/magichead = new /obj/item/clothing/mask/horsehead + magichead.canremove = 0 //curses! + magichead.flags_inv = null //so you can still see their face + magichead.voicechange = 1 //NEEEEIIGHH + user.drop_from_inventory(user.wear_mask) + user.equip_to_slot_if_possible(magichead, slot_wear_mask, 1, 1) + del(src) + else + user <<"I say thee neigh" + /obj/item/weapon/spellbook/oneuse/charge spell = /obj/effect/proc_holder/spell/targeted/charge spellname = "charging" icon_state ="bookcharge" - desc = "This book is made of 100% post-consumer wizard." \ No newline at end of file + desc = "This book is made of 100% post-consumer wizard." + +/obj/item/weapon/spellbook/oneuse/charge/recoil(mob/user as mob) + ..() + user <<"[src] suddenly feels very warm!" + empulse(src, 1, 1) \ No newline at end of file diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm index e3b03bad0cb..4c04ea6ce13 100644 --- a/code/modules/library/lib_items.dm +++ b/code/modules/library/lib_items.dm @@ -60,7 +60,7 @@ state = 0 if(2) - if(istype(I, /obj/item/weapon/book)) + if(istype(I, /obj/item/weapon/book) || istype(I, /obj/item/weapon/spellbook)) user.drop_item() I.loc = src update_icon() diff --git a/code/modules/projectiles/guns/magic.dm b/code/modules/projectiles/guns/magic.dm index c38d46822d5..c47289e6ca4 100644 --- a/code/modules/projectiles/guns/magic.dm +++ b/code/modules/projectiles/guns/magic.dm @@ -2,8 +2,8 @@ name = "staff of nothing" desc = "This staff is boring to watch because even though it came first you've seen everything it can do in other staves for years." icon = 'icons/obj/gun.dmi' - icon_state = "staffofchange" - item_state = "staffofchange" + icon_state = "staffofnothing" + item_state = "staff" fire_sound = 'sound/weapons/emitter.ogg' flags = FPRINT | TABLEPASS | CONDUCT w_class = 5 diff --git a/code/modules/projectiles/guns/magic/wand.dm b/code/modules/projectiles/guns/magic/wand.dm index 5896ecb4f58..f83a0206be7 100644 --- a/code/modules/projectiles/guns/magic/wand.dm +++ b/code/modules/projectiles/guns/magic/wand.dm @@ -26,7 +26,7 @@ if(charges) zap_self(user) else - user << "The [name] whizzles quietly." + user << "The [name] whizzles quietly." ..() /obj/item/weapon/gun/magic/wand/attack(atom/target as mob, mob/living/user as mob) @@ -39,12 +39,12 @@ if(charges) zap_self(user) else - user << "The [name] whizzles quietly." + user << "The [name] whizzles quietly." else ..() /obj/item/weapon/gun/magic/wand/proc/zap_self(mob/living/user as mob) - user.visible_message("\blue [user] zaps \himself with [src]!") + user.visible_message("[user] zaps \himself with [src]!") /obj/item/weapon/gun/magic/wand/death name = "wand of death" @@ -55,8 +55,8 @@ /obj/item/weapon/gun/magic/wand/death/zap_self(mob/living/user as mob) if(alert(user, "You really want to zap yourself with the wand of death?",, "Yes", "No") == "Yes" && charges && user.get_active_hand() == src && isliving(user)) - var/message ="\red You irradiate yourself with pure energy! " - message += pick("Do not pass go. Do not collect 200 zorkmids.","You feel more confident in your spell casting skills.","You Die...","Do you want your possessions identified?") + var/message ="You irradiate yourself with pure energy! " + message += pick("Do not pass go. Do not collect 200 zorkmids.","You feel more confident in your spell casting skills.","You Die...","Do you want your possessions identified?") user << message user.adjustOxyLoss(500) charges-- diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index 4088808e84e..974e7ab7e37 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -74,12 +74,17 @@ var/outer_tele_radius = 6 /obj/item/projectile/magic/teleport/on_hit(var/mob/target) - if(isturf(target)) - return - do_teleport(target, target, 10) - var/datum/effect/effect/system/harmless_smoke_spread/smoke = new /datum/effect/effect/system/harmless_smoke_spread() - smoke.set_up(10, 0, target.loc) - smoke.start() + var/teleammount = 0 + var/teleloc = target + if(!isturf(target)) + teleloc = target.loc + for(var/atom/movable/stuff in teleloc) + if(!stuff.anchored && stuff.loc) + teleammount++ + do_teleport(stuff, stuff, 10) + var/datum/effect/effect/system/harmless_smoke_spread/smoke = new /datum/effect/effect/system/harmless_smoke_spread() + smoke.set_up(max(round(10 - teleammount),1), 0, stuff.loc) //Smoke drops off if a lot of stuff is moved for the sake of sanity + smoke.start() /obj/item/projectile/magic/door name = "bolt of door creation" diff --git a/icons/obj/gun.dmi b/icons/obj/gun.dmi index 5f35fd26c27953731c5721a93d4d763cece3322c..98283e0ee84e1e44f86d0b0ed43f6b4f7b78b29d 100644 GIT binary patch delta 2532 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 From aed746f18f0a83e8809a7c6fb4168a47ace7b437 Mon Sep 17 00:00:00 2001 From: Incoming Date: Thu, 12 Dec 2013 12:11:49 -0500 Subject: [PATCH 5/6] A small change to how wizard rounds end when continuous wizard rounds are off: After the game has determinded that the wizard is dead it will check if there's any traitors alive. "Traitors" in this instance means apprentices and survivors the wizard may have created with contracts/summon guns/summon magic. Thus if the round still has a chance of being interesting (survivors) and/or the wizard has a legitimate chance at revival (apprentices) the round keeps going. --- code/game/gamemodes/wizard/wizard.dm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm index c89560986df..5bbe1a8def6 100644 --- a/code/game/gamemodes/wizard/wizard.dm +++ b/code/game/gamemodes/wizard/wizard.dm @@ -178,6 +178,7 @@ return ..() var/wizards_alive = 0 + var/traitors_alive = 0 for(var/datum/mind/wizard in wizards) if(!istype(wizard.current,/mob/living/carbon)) continue @@ -185,7 +186,15 @@ continue wizards_alive++ - if (wizards_alive) + if(!wizards_alive) + for(var/datum/mind/traitor in traitors) + if(!istype(traitor.current,/mob/living/carbon)) + continue + if(traitor.current.stat==2) + continue + traitors_alive++ + + if (wizards_alive || traitors_alive) return ..() else finished = 1 From c9f69869f21e295a40e263a77af7f2db0ff78d68 Mon Sep 17 00:00:00 2001 From: Incoming Date: Sat, 14 Dec 2013 19:40:58 -0500 Subject: [PATCH 6/6] Aranclanos Fix Omnibus *Removes zapping oneself by attackselfing a wand, leaving clicking yourself while holding the wand the only way to do it because... *Removes the warnings for zapping yourself with bad wands. Careful with that wand of death, kids! *Removed some redundant lines *Adds logging/sounds to zapping yourself *Removed the change to wizard_continuous_rounds. It will become it's own PR *Removed some redundant lines *Uses the mob/living revive() proc to heal/raise people using the wand/staff of animation --- code/game/gamemodes/wizard/spellbook.dm | 1 - code/game/gamemodes/wizard/wizard.dm | 11 +---- code/modules/projectiles/guns/magic.dm | 3 -- code/modules/projectiles/guns/magic/wand.dm | 48 +++++++------------- code/modules/projectiles/projectile/magic.dm | 15 +----- 5 files changed, 18 insertions(+), 60 deletions(-) diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm index 375a5129c4a..36417f0bd36 100644 --- a/code/game/gamemodes/wizard/spellbook.dm +++ b/code/game/gamemodes/wizard/spellbook.dm @@ -422,7 +422,6 @@ /obj/item/weapon/spellbook/oneuse/knock/recoil(mob/user as mob) ..() user <<"You're knocked down!" - user.Stun(20) user.Weaken(20) /obj/item/weapon/spellbook/oneuse/horsemask diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm index 5bbe1a8def6..c89560986df 100644 --- a/code/game/gamemodes/wizard/wizard.dm +++ b/code/game/gamemodes/wizard/wizard.dm @@ -178,7 +178,6 @@ return ..() var/wizards_alive = 0 - var/traitors_alive = 0 for(var/datum/mind/wizard in wizards) if(!istype(wizard.current,/mob/living/carbon)) continue @@ -186,15 +185,7 @@ continue wizards_alive++ - if(!wizards_alive) - for(var/datum/mind/traitor in traitors) - if(!istype(traitor.current,/mob/living/carbon)) - continue - if(traitor.current.stat==2) - continue - traitors_alive++ - - if (wizards_alive || traitors_alive) + if (wizards_alive) return ..() else finished = 1 diff --git a/code/modules/projectiles/guns/magic.dm b/code/modules/projectiles/guns/magic.dm index c47289e6ca4..b5146ca47ed 100644 --- a/code/modules/projectiles/guns/magic.dm +++ b/code/modules/projectiles/guns/magic.dm @@ -16,9 +16,6 @@ origin_tech = null clumsy_check = 0 -/obj/item/weapon/gun/magic/emp_act(severity) - return - /obj/item/weapon/gun/magic/process_chambered() if(in_chamber) return 1 if(!charges) return 0 diff --git a/code/modules/projectiles/guns/magic/wand.dm b/code/modules/projectiles/guns/magic/wand.dm index f83a0206be7..1bfc24b7ba2 100644 --- a/code/modules/projectiles/guns/magic/wand.dm +++ b/code/modules/projectiles/guns/magic/wand.dm @@ -22,13 +22,6 @@ usr << "Has [charges] charge\s remaining." return -/obj/item/weapon/gun/magic/wand/attack_self(mob/living/user as mob) - if(charges) - zap_self(user) - else - user << "The [name] whizzles quietly." - ..() - /obj/item/weapon/gun/magic/wand/attack(atom/target as mob, mob/living/user as mob) if(target == user) return @@ -39,12 +32,14 @@ if(charges) zap_self(user) else - user << "The [name] whizzles quietly." + user << "The [name] whizzles quietly." else ..() /obj/item/weapon/gun/magic/wand/proc/zap_self(mob/living/user as mob) user.visible_message("[user] zaps \himself with [src]!") + playsound(user, fire_sound, 50, 1) + user.attack_log += "\[[time_stamp()]\] [user]/[user.ckey] zapped \himself with a [src]" /obj/item/weapon/gun/magic/wand/death name = "wand of death" @@ -54,13 +49,12 @@ max_charges = 3 //3, 2, 2, 1 /obj/item/weapon/gun/magic/wand/death/zap_self(mob/living/user as mob) - if(alert(user, "You really want to zap yourself with the wand of death?",, "Yes", "No") == "Yes" && charges && user.get_active_hand() == src && isliving(user)) - var/message ="You irradiate yourself with pure energy! " - message += pick("Do not pass go. Do not collect 200 zorkmids.","You feel more confident in your spell casting skills.","You Die...","Do you want your possessions identified?") - user << message - user.adjustOxyLoss(500) - charges-- - ..() + var/message ="You irradiate yourself with pure energy! " + message += pick("Do not pass go. Do not collect 200 zorkmids.","You feel more confident in your spell casting skills.","You Die...","Do you want your possessions identified?") + user << message + user.adjustOxyLoss(500) + charges-- + ..() /obj/item/weapon/gun/magic/wand/resurrection name = "wand of resurrection" @@ -70,15 +64,7 @@ max_charges = 3 //3, 2, 2, 1 /obj/item/weapon/gun/magic/wand/resurrection/zap_self(mob/living/user as mob) - user.setToxLoss(0) - user.setOxyLoss(0) - user.setCloneLoss(0) - user.SetParalysis(0) - user.SetStunned(0) - user.SetWeakened(0) - user.radiation = 0 - user.heal_overall_damage(user.getBruteLoss(), user.getFireLoss()) - user.reagents.clear_reagents() + user.revive() user << "You feel great!" charges-- ..() @@ -91,10 +77,9 @@ max_charges = 10 //10, 5, 5, 4 /obj/item/weapon/gun/magic/wand/polymorph/zap_self(mob/living/user as mob) - if(alert(user, "Your new form might not have arms to zap with... Continue?",, "Yes", "No") == "Yes" && charges && user.get_active_hand() == src && isliving(user)) - ..() //because the user mob ceases to exists by the time wabbajack fully resolves - wabbajack(user) - charges-- + ..() //because the user mob ceases to exists by the time wabbajack fully resolves + wabbajack(user) + charges-- /obj/item/weapon/gun/magic/wand/teleport name = "wand of teleportation" @@ -129,7 +114,6 @@ max_charges = 8 //8, 4, 4, 3 /obj/item/weapon/gun/magic/wand/fireball/zap_self(mob/living/user as mob) - if(alert(user, "Zapping yourself with a wand of fireball is probably a bad idea, do it anyway?",, "Yes", "No") == "Yes" && charges && user.get_active_hand() == src && isliving(user)) - explosion(user.loc, -1, 0, 2, 3, 0, flame_range = 2) - charges-- - ..() \ No newline at end of file + explosion(user.loc, -1, 0, 2, 3, 0, flame_range = 2) + charges-- + ..() \ No newline at end of file diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm index 974e7ab7e37..bec53531f8b 100644 --- a/code/modules/projectiles/projectile/magic.dm +++ b/code/modules/projectiles/projectile/magic.dm @@ -38,20 +38,7 @@ if(istype(target,/mob)) var/old_stat = target.stat - if(target.stat == DEAD) - dead_mob_list -= target - living_mob_list += target - target.stat = CONSCIOUS - target.tod = null - target.setToxLoss(0) - target.setOxyLoss(0) - target.setCloneLoss(0) - target.SetParalysis(0) - target.SetStunned(0) - target.SetWeakened(0) - target.radiation = 0 - target.heal_overall_damage(target.getBruteLoss(), target.getFireLoss()) - target.reagents.clear_reagents() + target.revive() target.suiciding = 0 if(!target.ckey) for(var/mob/dead/observer/ghost in player_list)