Monkey-lings can use hivechat.
Lings can return to human form even if monkeyed through genetics.
One-line fix for Destroying Angels (..() wasn't being called)
Spelling correction in Destroying Angel description
---
A Few New Wizard Items
Staff of Chaos: Shoots random magic bolts. Charges faster and can hold more shots than other staves.
Staff of Door Creation: Works the same as the wand of door creation. There is apparently demand for this! Charges faster and can hold more shots than other staves.
Wand Assortment: A belt that comes of one of each useful wand, generated with the highest number of shots possible.
---
Cleaning Up the Spellbook
The spellbook was getting REALLY long, so it's been segmented into pages for spells, items, and one time use spells (aka the fun page). The spellbook also highlights the fact that you can upgrade spells better now.
---
Summon Magic Rebalancing
There's now a new catagory of magic items that are especially potent. These have a very low chance of showing up now and only one can spawn during a casting of summon magic, if one even spawns at all. The person who gets it is not guarenteed to be a surivor either.
In this category: Staff of Animation, Staff of Change, Staff of Chaos, Wand Assortment, Contract of Apprenticeship.
Additionally the staff of door creation is now in the normal pool and the staff of change is no longer in the normal pool.
---
Misc Stuff
Adds Bats and Goats to the staff of change.
Changes the charge spell so if you charge something that can charge on its own there's no chance of degradation.
Hopefully nothing went wrong but you never know.
Conflicts:
code/FEA/FEA_fire.dm
code/controllers/supply_shuttle.dm
code/game/gamemodes/changeling/changeling_powers.dm
code/game/machinery/autolathe.dm
code/game/machinery/drying_rack.dm
code/modules/hydroponics/hydroponics.dm
code/modules/projectiles/projectile/magic.dm
code/modules/reagents/Chemistry-Recipes.dm
code/modules/reagents/reagent_dispenser.dm
Your dreams of big part storage and fast machine part exchange came true
14 slot R&D part-only autoseeker/picker/dropper/exchager is in
Added different sprites for better capacitors and scanning modules
Changed the power cell type to be compatible with all this machine
changing faggotry
All sprites here are codersprites so ask nien/WJ for better ones if you
want
Works pretty well. If it can't GC something, it'll just del() it and be done.
Speed is amazing, holy shit.
New procs you should be aware of:
qdel(atom/movable) - sets up an object for garbage collection. Call this rather than del(atom/movable).
atom/movable/Destroy() - called right before the object is GC'd, so it still has a loc. Also called if the object is del()'d.
new controller - garbage.dm has all the details on this. Basically it nulls all references on GC'd objects and force del() them if necessary.
Generally speaking, objects should use Destroy() for behavior prior to deletion rather than Del(). You should also always call the parent so the object gets the right gc_destroyed var set.
ISSUES:
Tries to GC mobs atm. This actually works for new players, not so much for humans/monkies/simple_animals/anything. I'm guessing it needs to clear out their mind and HUD and maybe other things.
Gibbing is really bugged. It works, but the overlays just sit there for awhile and ugh. I'm very tempted just to del() mob/living and mob/camera and call it a day.
qdel() equipment doesn't unequip the item.
Pipes don't generally GC correctly. Debugging suggests they get referenced in many pipenets and that isn't cleared properly. However some do work fine. Need assistance here.
Bots don't GC, probably in the radio controller.
Lots of other shit doesn't GC but it's hard to find them because of the pipe spam.
I think I'm calling Destroy() twice by accident.
Had a plan for a stealthy wizard round using mindswap? Whoops looks like you just lost knock because fuck you.
It was well coded but people don't use mindswap enough to warrent a threat of permacrippling on use. To the creator's credit was very easy to take out.
- Construct spells are an exception.
- Spells are transferred whenever a mind is transferred: cloning, pod cloning, borging, staff of changing.
- Spells are not transferred when you create a new mind for a new mob: soul stones, golems, respawns.
- To my surprise, this did not fix the issue where a mind-swapped wizard loses their spells when their original body is destroyed. I do not know why this happens.
- Non-human mobs can't use spells by default. Varedit spell.human_req to do that.
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.