notransformation protection was stopping movement calls to the holder object.
Refractored code so wraith phase shift isn't copypaste just to change animations.
Feature: After some serious testing (and because it was already being done on live servers thanks to wabbajack() preserving spells) I've removed the compatible_mobs list for mind_transfer, meaning you can now mind transfer to any player controled living mob.
Flowery fluff that no one would ever care about: changes the mindswap message for trying to swap into a dead guy, since a spell holder isn't nessisarily a space wizard
bugfix: gives notransform to etheral jaunting based on an observed edge case where a wizard was staff of changed while starting a jaunt and got stuck in bluespace for the rest of the round
meta: modified revive() so I could remove all that horrible snowflake I introduced to let reviving simple mobs come back
Adds new functionality where wands will look different once they're out of charge for at a glace judgements
Adds a wand of nothing to the hacked item list for the autodrobe, by popular request
*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
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
---
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.
Adds a cap for flame_range in global.dm
Added a flame_range for syndibombs, syndieminibombs, Wizard's fireball, fuel tank explosions, and meteors.
Adds firesuit level temperature protection to the wizard hardsuit for safety from your own fireballs setting you ablaze
Adds ExtinguishMob() for Ethereal Jaunt to make wizards a little less vulnerable to fire
Additionally all spells can now use all 5 spell points now (though the functionality to have spells that don't follow this rule is still there).
The new variable "cooldown_min" defines (in deciseconds) what the cooldown should be if all 5 spell points are used on it.
For example if you had a 100 charge_max and a 60 cooldown_min, every rank used on that spell would reduce charge_max by 10
Specifics of how the cooldown is affected for each spell has been commented in
-Wire cut logs are now accessed via the Investigate verb, instead of popping up in the admin chat log.
-Wizard Fireball explosions no longer create admin chat log messages either.
-Adding and removing Player Notes is now logged.
-The note that is added automatically to people who get banned, now displays the duration of ban.
For Lesser Magic Missile:
-Halved the projectile life span
-Added a cap to the amount of targets, 6 as an experimental number
-Made the helper text more useful for new constructs
-Juggernaut's force wall duration increased to 20 seconds (it was 5 before which was completely useless)
-Artificers gain a new spell Lesser Magic Missile - which functions as normal MM but with a significantly longer cool down (purpose of it is to give builders a chance to get away, or provide supportive fire in a construct spearhead)
-Juggernauts now have ablative shells, which means that energy projectiles will be deflected as with ablative vests, as with vests slug throwers aren't affected
*the targeting for the spell has been reworked so there's no chance of people in the same loc getting stoned instead of your intended victim. As a result of this improvement, wizards can now cast the spell on other wizards with reckless abandon
*Flesh to Stone and the Staff of Animation play nicer with each other now, no more mobs getting trapped in item mimics after escaping the statue.
*Minor tweaks to the monkey statue, which looked dumb
*statue sprites updated from "granite" to "marble" to fix some contrast problems
*statues now get their Health from their target's current health, healthy humans and monkeys will have 200 health before shattering, corgis will have 120 health. Injured targets will make for easier to smash statues.
*likewise when a mob is unstoned it will take any damage the statue took as brute damage.
*Replaced godmode with a set of vars to assure the mob's health remains constant while a statue
*Spell renders one target (choosen from list) immobile and incapable of interaction by encasing them in a breakable statue
*Effect ends after a long while (4 minutes) if the statue remains intact
*Requires robes and has a range of 2 squares, cooldown 60 seconds
*Statue can be animated by Staff of Animation, the spell will still end at the normal time
*Currently can be used on humans, monkeys, and corgis
Wizard staffs, SAW, combat shotgun still don't
Added the Mjollnir and Singularity Hammer. Just silly melee weapons I coded/sprited for fun. Both are using the Mjollnir's sprites currently though I didn't have it in me to make a billion more inhands for the Singularity Hammer.
Mjollnir shocks the target and hurls them away/spews lightning around.
Singularity Hammer pulls everything nearby in towards the target.
Don't really have plans to balance them or make them obtainable in game but I thought as long as I'd coded them some admin or another may enjoy trading them to antags/giving them to the chaplain etc.
Lowered fireballs cooldown and decreased its explosion size (so wizards can use it without killing themselves by causing hull breaches)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5805 316c924e-a436-60f5-8080-3fe189b3f50e
Basically, surgeries are now initiated by bedsheets or surgical drapes, and consist of separate steps.
Appendicitis is sort of hacky, but it should work for now. I'll update it when I add processing organs.
Added getbrain() and getappendix() procs, which can be used instead of checking the old (now missing) x_op_stage variables.
Added a surgical apron, using old sprites by matty.
Updated the map:
Removed the note with spell descriptions from the wizard's den for Kor.
Updated the operating room.
Updated xenobio to have appropriate tools for slime surgery.
Path changes:
/obj/item/brain > /obj/item/organ/brain
/obj/item/weapon/reagent_containers/food/snacks/appendix > /obj/item/organ/appendix
/obj/item/weapon/reagent_containers/food/snacks/appendix/inflamed > /obj/item/organ/appendix
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5703 316c924e-a436-60f5-8080-3fe189b3f50e
http://forums.nanotrasen.com/viewtopic.php?f=16&t=12096
> UpdateAffectingLights() is a bit less silly. It now uses oview() to find lights which could be shining on it. It only searches a maximum of LIGHTING_MAX_LUMINOSITY_STATIC-1 away from itself, as this is all it needs to do (reducing the number of atoms it searches/lights it updates).
> UpdateAffectingLights() is called more sensibly, generally it will only be called when opacity actually changes on a lit turf (or something in a lit turf), as opposed to before where it would be called simply if something was opaque.
> Fixes a typo in cheap_hypotenuse(), it will now work correctly.
> Added circular lighting (using cheap_hypotenuse, a cheap linear approximation of pythagoras theorem). Old square lighting is toggable by commenting out #define LIGHTING_CIRCULAR
> Wall-fixed lighting will break when Move()ed. This means their lighting will not be updating whilst the singulo is on a rampage (which would cause lots of lighting updates). This should help reduce lighting updates a fair bit in such circumstances. Also the lord of darkness actually creates darkness! omg
>Halved the theoretical number of calls to UpdateAffectingLights() by turfs being deleted/created (aka replaced), by moving relevant code from New/Del into ChangeTurf(). Tidied ChangeTurf up a little.
>SpaceVines now update opacity correctly (this somewhat worries me though)
>Reduced the range of dynamic lighting effects for most objects. Fixed the bug where mob luminosity could try to go negative when dropping many held active flashlights.
>Space area no longer uses dynamic lighting. (at request)
>Fewer shades of darkness (reduced from 7 to 6) - means fewer shift_to_subarea calls and makes lower luminosity lights appear brighter
>Turfs can be luminous, removed the warnings. capped luminosity effects of turfs to a radius of 1.
>PDAS ARE NO LONGER SUNS!
>ChangeTurf() no longer replaces turfs with turfs of the same type. This means that singulos will no longer replace space with space with space over and over and over every tick
>there is a cpu-usage cap thingy on the lighting process(). It's currently set to (a ridiculously high) 98. This simply stops the process attempting to do any more work when the server is already dying. If you're feeling brave you could probably reduce further.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5650 316c924e-a436-60f5-8080-3fe189b3f50e
Added a missing 's' in the name of an artificer spell. Fixes issue 1256.
Moved construct spells out of wizard.dm and into construct_spells.dm because I do -not- like wasting so much time trying to find something because someone was too lazy to keep their stuff organized.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5605 316c924e-a436-60f5-8080-3fe189b3f50e
- Made the singularity not move stuff while contained, should help and make it easier to work with; such as fixing the field generator.
- Added logging for gold slime extracts.
- Removed unneeded deletion of signals in telecomms code.
- Added a debug verb which will record pointers of signals that weren't garbage collected.
- Removed the need to create a mob to compare it in telecomms code.
- The spider infestation is more likely going to spawn nurses.
- Runtime fix with spells.
- Reverse list actually does something now. Bots never needed it so I removed it. (Thanks carn)
- Added an ON_BORDER flag for border firedoors.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5601 316c924e-a436-60f5-8080-3fe189b3f50e
- Added a check to EI NATH for humans who are brainless.
- Fixed fires runtiming. When I replaced del(src) with a garbage collecting proc, I forgot to return afterwards so the rest of the code didn't execute.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5567 316c924e-a436-60f5-8080-3fe189b3f50e
In totally unrelated news, added a horse mask.
Improved say.dm, so that adding more mask voicechanging snowflake code shouldn't have quite such a big impact.
Updated the changelog.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5534 316c924e-a436-60f5-8080-3fe189b3f50e
-Forgot to add the staff of animation to the list of available spells. Fixes a runtime.
-Gave the clown the under-used water flower which squirts a unit of water.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5261 316c924e-a436-60f5-8080-3fe189b3f50e