This requires a 508 beta version to use. If Travis fails this he's a bitch
Exceptions will generate a stack trace, which is way easier to see and more helpful in actually solving this kind of crap. Also logs all the arguments, src, line, and file automatically.
Removed any dubiously helpful information in the exception names so the runtime condenser won't see each one as a different runtime. If the information is critical to solve these bugs (camera one maybe?), then I'll just make these warnings.
Thrown exceptions crash the currently running proc. Yes that means there's useless returns in a bunch of these, sue me. spawn()'s are to let the proc continue.
Almost all of these are difficult to trigger, but I did test playsound. And frankly even if they do cause bugs by crashing procs, big whoop
Disintergrate summons a glowing hand (gesture up in the air [pointing? Hand flat? Fist?]) nodrop abstract item. It has a noticeable on mob sprite and (obviously) requires a free hand to use. It removes that shitty drop down menu UI and requires that a wizard be robust enough to actually smack someone with his hand to work. Spell doesn't recharge until the hand actually connects, reusing the spell with the hand out just refunds the charge and puts the hand away. Spell still gibs.
Nerfs:
*Requires a modicum of robustness in clicking a guy
*Offers a tell to spessman that the wizard is going for it
*Can't be used on the floor or while cuffed
*Takes up a hand slot during use
Buffs:
*Don't have to fiddle with a shitty drop down if you use it in a crowded area.
Space Justice Warriors have been attacking freighters carrying the Justice Helmets, and they have been in low supply recently, resulting in an increase of price for justice enforcer cfates. Reports from captured SJWs claim that the helmets offend them. Requests to ban the sale of justice helmets will be met with equally insulting responses.
- Nanotrasen Cargo Committee
Removed the "feature" to have something log in an atom's vv attack log, but not the file attack log. all attack log items will go to the file as well as vv.
Replaced all hard coded src.name/name for attack log's object argument with an actual object (src) except where it made more sense not to.
All attack logging *should* happen AFTER damage is applied now.
Removed the confusing attack entry for when a changeling stings another changeling.
Tweaked how punch attack logs worked
- Fixes round-end message always declaring both gangs lost
- 3gang is now twice as likely to appear
- Purchased spray cans will always be the gang's color
changed the values so the equipment effect stays the same. Remove global_iterator datum.
- fiddled with equip_ready procs of mech tools.
- removed mecha/proc/do_after and /enter_after() procs.
- Renamed mech sleeper occupant var to "patient" to avoid confusion with the occupant of the mech.
- all non instant tool (drill) now show a progbar when drilling etc..
- action cooldown now use do_after_cooldown() (that itself uses do_after) and start_cooldown (for instantaneous actions).
- Removed mecha_equipment's destroy proc, it's now all in Destroy(). No confusion.
- modified mecha_equipment/proc/can_attach() to not check istype(mecha) b/c it can't not be. (so the child only have one istype check.
- Removed diamonddrill/can_attach() , all done at drill level.
- armor booster now only for combat mech, instead of all except honkmech.
- Removed dynhitby, dynbulletdamage, dynattackby, dynusepower(), dyngetcharge(), dynabsorbdamage()
- I split the tools.dm file into smaller ones: work tools, mining tools, other tools.
- I split mecha.dm into mecha.dm, mecha_topic.dm and mecha_defense.dm
- refactored mech weapon ballistic/launcher, new proj_init proc, more OOP.
- Moving consumes energy! Lights consumes energy. Fixes#9425.
- Fixed#7354 xeno not bursting if host is inside a mech.
- Added action buttons to mech. Moved toggle lights, internal tank, eject, view stats from verbs to action buttons, these can now only
be done via these buttons (removed them from the big stats window).
- Removed port connect verbs b/C it's automated now.
- regular hud is no longer hidden when inside a mech (doesn't matter b/c you can't interact with most stuff in it while in a mecha). Fixes issue 10387
- can't walk when shooting projectiles. Makes walking on your projectile a bit harder. Helps against issue 10315 (but doesn't fix it).
- also made into action buttons: the special abilities of certain combat mechs.
- Added thrown alerts for mech charge and integrity.
- Fixes teleporting occupant out not properly removing it from the mech. Fixes issue 10330
- fixes ballistic mech weapons spinning when launched. proc/throw_at() now has a spin argument instead of using var/allow_spin that was added to all atoms just for that.
- added a update_action_buttons() to ai/life() to handle ai mech.
- Removes supply order crates from shuttle loan events. These were pretty unintuitive, as you needed to accept the crates separately.
- Adds a new shuttle loan event: Centcom wants you to help in a virus research program. I feel this is a more controlled way of bringing diseases on the station compared to the disease outbreak event.
- Fixes camera failure event
- Fixes spanish flu, adds spanish flu culture bottle