From 24daafd84e86d77e80e026d49aa15143bfc8ae74 Mon Sep 17 00:00:00 2001 From: "noisomehollow@lycos.com" Date: Tue, 14 Dec 2010 20:52:49 +0000 Subject: [PATCH] Wizard spells: fireball, forcewall, blind, smoke, and knock no longer require a wizard to be wearing their clothing to cast. Magic missile now has an incantation, along with fireball. Spells that do not require wizard robes, other than fireball, whisper their incantations. Fixed Beepsky's path, for real this time. Updated spell list on wizard shuttle, hopefully to stay. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@614 316c924e-a436-60f5-8080-3fe189b3f50e --- code/game/gamemodes/wizard/spell3.dm | 6 +++--- code/game/gamemodes/wizard/spell4.dm | 7 ++++++- code/game/gamemodes/wizard/spell6.dm | 9 +++++---- code/game/gamemodes/wizard/spell7.dm | 2 +- code/game/gamemodes/wizard/spell8.dm | 3 +++ code/game/gamemodes/wizard/spell9.dm | 6 +++--- code/game/gamemodes/wizard/wizard.dm | 22 +++++++++++----------- code/game/objects/items.dm | 2 +- maps/tgstation.2.0.0.dmm | 6 +++--- 9 files changed, 36 insertions(+), 27 deletions(-) diff --git a/code/game/gamemodes/wizard/spell3.dm b/code/game/gamemodes/wizard/spell3.dm index 92f7350b516..0f541cf7f0b 100644 --- a/code/game/gamemodes/wizard/spell3.dm +++ b/code/game/gamemodes/wizard/spell3.dm @@ -1,13 +1,13 @@ /client/proc/knock() set category = "Spells" set name = "Knock" - if(!usr.casting()) return +// if(!usr.casting()) return usr.verbs -= /client/proc/knock spawn(100) usr.verbs += /client/proc/knock - usr.say("AULIE OXIN FIERA") - usr.spellvoice() + usr.whisper("AULIE OXIN FIERA") +// usr.spellvoice() for(var/obj/machinery/door/G in oview(3)) spawn(1) diff --git a/code/game/gamemodes/wizard/spell4.dm b/code/game/gamemodes/wizard/spell4.dm index 9634dac0fec..8553ecaa3a5 100644 --- a/code/game/gamemodes/wizard/spell4.dm +++ b/code/game/gamemodes/wizard/spell4.dm @@ -2,10 +2,15 @@ set category = "Spells" set name = "Fireball" set desc="Fireball target:" - if(!usr.casting()) return +// if(!usr.casting()) return + usr.verbs -= /client/proc/fireball spawn(200) usr.verbs += /client/proc/fireball + + usr.say("ONI SOMA") +// usr.spellvoice() + var/obj/overlay/A = new /obj/overlay( usr.loc ) A.icon_state = "fireball" A.icon = 'wizard.dmi' diff --git a/code/game/gamemodes/wizard/spell6.dm b/code/game/gamemodes/wizard/spell6.dm index 137a3e4db22..6df673c0b61 100644 --- a/code/game/gamemodes/wizard/spell6.dm +++ b/code/game/gamemodes/wizard/spell6.dm @@ -12,15 +12,16 @@ set category = "Spells" set name = "Forcewall" set desc = "Create a forcewall on your location." - if(!usr.casting()) return + +// if(!usr.casting()) return + usr.verbs -= /client/proc/forcewall spawn(100) usr.verbs += /client/proc/forcewall var/forcefield - var/mob/living/carbon/human/G = usr - G.say("TARCOL MINTI ZHERI") - usr.spellvoice() + usr.whisper("TARCOL MINTI ZHERI") +// usr.spellvoice() forcefield = new /obj/forcefield(locate(usr.x,usr.y,usr.z)) spawn (300) diff --git a/code/game/gamemodes/wizard/spell7.dm b/code/game/gamemodes/wizard/spell7.dm index 6568240ae7b..0710c1a6351 100644 --- a/code/game/gamemodes/wizard/spell7.dm +++ b/code/game/gamemodes/wizard/spell7.dm @@ -3,7 +3,7 @@ set category = "Spells" set name = "Smoke" set desc = "Creates a cloud of smoke" - if(!usr.casting()) return +// if(!usr.casting()) return usr.verbs -= /client/proc/smokecloud spawn(120) usr.verbs += /client/proc/smokecloud diff --git a/code/game/gamemodes/wizard/spell8.dm b/code/game/gamemodes/wizard/spell8.dm index 5349de67509..f1d3fcf9f00 100644 --- a/code/game/gamemodes/wizard/spell8.dm +++ b/code/game/gamemodes/wizard/spell8.dm @@ -4,6 +4,9 @@ set desc="Whom" if(!usr.casting()) return + usr.say("FORTI GY AMA") + usr.spellvoice() + for (var/mob/M as mob in oview()) spawn(0) var/obj/overlay/A = new /obj/overlay( usr.loc ) diff --git a/code/game/gamemodes/wizard/spell9.dm b/code/game/gamemodes/wizard/spell9.dm index 4cabaa6687f..2ee6501e0ca 100644 --- a/code/game/gamemodes/wizard/spell9.dm +++ b/code/game/gamemodes/wizard/spell9.dm @@ -1,13 +1,13 @@ /client/proc/blind(mob/M as mob in oview()) set category = "Spells" set name = "Blind" - if(!usr.casting()) return +// if(!usr.casting()) return usr.verbs -= /client/proc/blind spawn(300) usr.verbs += /client/proc/blind - usr.say("STI KALY!") - usr.spellvoice() + usr.whisper("STI KALY") +// usr.spellvoice() var/obj/overlay/B = new /obj/overlay( M.loc ) B.icon_state = "blspell" diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm index 85846140821..425e7a6e563 100644 --- a/code/game/gamemodes/wizard/wizard.dm +++ b/code/game/gamemodes/wizard/wizard.dm @@ -380,7 +380,7 @@ if (src.uses >= 1) src.uses -= 1 usr.verbs += /client/proc/fireball - src.temp = "This spell fires a fireball at a target. Be careful not to fire it at people that are standing next to you." + src.temp = "This spell fires a fireball at a target and does not require wizard garb. Be careful not to fire it at people that are standing next to you." else if (href_list["spell_disintegrate"]) if (src.uses >= 1) src.uses -= 1 @@ -395,17 +395,17 @@ if (src.uses >= 1) src.uses -= 1 usr.verbs += /client/proc/smokecloud - src.temp = "This spell spawns a cloud of choking smoke at your location." + src.temp = "This spell spawns a cloud of choking smoke at your location and does not require wizard garb." else if (href_list["spell_blind"]) if (src.uses >= 1) src.uses -= 1 usr.verbs += /client/proc/blind - src.temp = "This spell temporarly blinds a single person." + src.temp = "This spell temporarly blinds a single person and does not require wizard garb." else if (href_list["spell_forcewall"]) if (src.uses >= 1) src.uses -= 1 usr.verbs += /client/proc/forcewall - src.temp = "This spell creates an unbreakable wall that lasts for 30 seconds." + src.temp = "This spell creates an unbreakable wall that lasts for 30 seconds and does not need wizard garb." else if (href_list["spell_blink"]) if (src.uses >= 1) src.uses -= 1 @@ -420,7 +420,7 @@ if (src.uses >= 1) src.uses -= 1 usr.verbs += /client/proc/mutate - src.temp = "This spell causes you to turn into a hulk, and gain telekinesis for a short while." + src.temp = "This spell causes you to turn into a hulk and gain telekinesis for a short while." else if (href_list["spell_jaunt"]) if (src.uses >= 1) src.uses -= 1 @@ -430,7 +430,7 @@ if (src.uses >= 1) src.uses -= 1 usr.verbs += /client/proc/knock - src.temp = "This spell opens nearby doors." + src.temp = "This spell opens nearby doors and does not require wizard garb." else if (href_list["lock"] && src.origradio) // presto chango, a regular radio again! (reset the freq too...) usr.machine = null @@ -521,7 +521,7 @@ if (src.uses >= 1) src.uses -= 1 usr.verbs += /client/proc/fireball - src.temp = "This spell fires a fireball at a target. Be careful not to fire it at people that are standing next to you." + src.temp = "This spell fires a fireball at a target and does not require wizard garb. Be careful not to fire it at people that are standing next to you." if("disintegrate") if (src.uses >= 1) src.uses -= 1 @@ -536,17 +536,17 @@ if (src.uses >= 1) src.uses -= 1 usr.verbs += /client/proc/smokecloud - src.temp = "This spell spawns a cloud of choking smoke at your location." + src.temp = "This spell spawns a cloud of choking smoke at your location and does not require wizard garb." if("blind") if (src.uses >= 1) src.uses -= 1 usr.verbs += /client/proc/blind - src.temp = "This spell temporarly blinds a single person." + src.temp = "This spell temporarly blinds a single person and does not require wizard garb." if("forcewall") if (src.uses >= 1) src.uses -= 1 usr.verbs += /client/proc/forcewall - src.temp = "This spell creates an unbreakable wall that lasts for 30 seconds." + src.temp = "This spell creates an unbreakable wall that lasts for 30 seconds and does not require wizard garb." if("blink") if (src.uses >= 1) src.uses -= 1 @@ -571,7 +571,7 @@ if (src.uses >= 1) src.uses -= 1 usr.verbs += /client/proc/knock - src.temp = "This spell opens nearby doors." + src.temp = "This spell opens nearby doors and does not require wizard garb." src.generate_menu() src.print_to_host(src.menu_message) return diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 00904e2638f..dd5da48e399 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -233,7 +233,7 @@ dat += "
" dat += "Four uses use them wisely:
" dat += "Teleport
" - dat += "Kind regards,
Wizards Federation

P.S. Don't forget to bring your gear, you'll need it to cast spells.
" + dat += "Kind regards,
Wizards Federation

P.S. Don't forget to bring your gear, you'll need it to cast most spells.
" user << browse(dat, "window=scroll") onclose(user, "scroll") return diff --git a/maps/tgstation.2.0.0.dmm b/maps/tgstation.2.0.0.dmm index 59e64614be8..571c214ffa1 100644 --- a/maps/tgstation.2.0.0.dmm +++ b/maps/tgstation.2.0.0.dmm @@ -50,7 +50,7 @@ "aaX" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area/wizard_station) "aaY" = (/obj/cable{icon_state = "0-2"; d2 = 2},/obj/cable,/obj/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating/airless,/area/prison/solar) "aaZ" = (/obj/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating/airless,/area/prison/solar) -"aba" = (/obj/table/woodentable{tag = "icon-woodentable (NORTH)"; icon_state = "woodentable"; dir = 1},/obj/item/weapon/paper{name = "List of Available Spells (READ)"},/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/wizard_station) +"aba" = (/obj/table/woodentable{tag = "icon-woodentable (NORTH)"; icon_state = "woodentable"; dir = 1},/obj/item/weapon/paper{info = "

LIST OF SPELLS AVAILABLE

Magic Missile:
This spell fires several, slow moving, magic projectiles at nearby targets. If they hit a target, it is paralyzed and takes minor damage.

Fireball:
This spell fires a fireball at a target and does not require wizard garb. Be careful not to fire it at people that are standing next to you.

Disintegrate:
This spell instantly kills somebody adjacent to you with the vilest of magick. It has a long cooldown.

Disable Technology:
This spell disables all weapons, cameras and most other technology in range.

Smoke:
This spell spawns a cloud of choking smoke at your location and does not require wizard garb.

Blind:
This spell temporarly blinds a single person and does not require wizard garb.

Forcewall:
This spell creates an unbreakable wall that lasts for 30 seconds and does not require wizard garb.

Blink:
This spell randomly teleports you a short distance. Useful for evasion or getting into areas if you have patience.

Teleport:
This spell teleports you to a type of area of your selection. Very useful if you are in danger, but has a decent cooldown, and is unpredictable.

Mutate:
This spell causes you to turn into a hulk, and gain telekinesis for a short while.

Ethereal Jaunt:
This spell creates your ethereal form, temporarily making you invisible and able to pass through walls.

Knock:
This spell opens nearby doors and does not require wizard garb.

"; name = "List of Available Spells (READ)"},/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/wizard_station) "abb" = (/obj/table/woodentable{dir = 5},/obj/item/weapon/pen{desc = "Enchanted to write in several shades of grey!"; name = "magic pen"},/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/wizard_station) "abc" = (/obj/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/shuttle/floor{icon_state = "floor5"},/area/wizard_station) "abd" = (/turf/space,/turf/simulated/shuttle/wall{dir = 4; icon_state = "diagonalWall3"},/area) @@ -1558,7 +1558,7 @@ "aDX" = (/obj/cable{icon_state = "4-8"; d1 = 4; d2 = 8},/turf/simulated/floor,/area/hallway/secondary/exit) "aDY" = (/obj/cable{icon_state = "4-8"; d1 = 4; d2 = 8},/obj/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor,/area/hallway/secondary/exit) "aDZ" = (/obj/cable{icon_state = "4-8"; d1 = 4; d2 = 8},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor,/area/hallway/secondary/exit) -"aEa" = (/obj/cable{icon_state = "2-8"; d1 = 2; d2 = 8},/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=Med2"; location = "Escape"},/turf/simulated/floor,/area/hallway/secondary/exit) +"aEa" = (/obj/cable{icon_state = "2-8"; d1 = 2; d2 = 8},/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=Med3"; location = "Escape"},/turf/simulated/floor,/area/hallway/secondary/exit) "aEb" = (/turf/simulated/floor{icon_state = "caution_east"; tag = "icon-caution_east"},/area/hallway/secondary/exit) "aEc" = (/obj/grille,/obj/window/reinforced/west{tag = "icon-rwindow (EAST)"; icon_state = "rwindow"; dir = 4},/obj/window/reinforced/west,/turf/simulated/floor/plating,/area/hallway/secondary/exit) "aEd" = (/obj/machinery/vending/snack,/turf/simulated/floor{icon_state = "corner_northwest"; tag = "icon-corner_northwest"},/area/hallway/secondary/entry) @@ -2211,7 +2211,7 @@ "aQA" = (/obj/machinery/alarm{pixel_y = 24},/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor,/area/hallway/primary/starboard) "aQB" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor,/area/hallway/primary/starboard) "aQC" = (/obj/disposalpipe/segment,/turf/simulated/floor,/area/hallway/primary/starboard) -"aQD" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=Dorm"; location = "Med2"},/turf/simulated/floor,/area/hallway/primary/starboard) +"aQD" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=Dorm"; location = "Med3"},/turf/simulated/floor,/area/hallway/primary/starboard) "aQE" = (/obj/cable{icon_state = "4-8"; d1 = 4; d2 = 8},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "white"},/area/hallway/primary/starboard) "aQF" = (/turf/simulated/floor{icon_state = "white"},/area/medical/medbay) "aQG" = (/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor{icon_state = "white"},/area/medical/medbay)