- shotgun/automatic/ will pump itself automatically on firing
- combat shotgun capacity nerfed to 6 rounds
- replaced all instances of the old path with the new one
MC:
No longer tracks a subsystem's cpu usage. This was basically worthless and took up space on the stat panel
Can calculate wait down to a tenth of a decisecond to make it fps/world.ticklag agnostic
Now allows subsystems to have a dynamic wait, that is based on a ratio of how long that subsystem has been taking to process(cost). (This system allows for upper and lower bounds, and an changeable cost delta for each subsystem)
MC can now be told to init a zlevel
All Subsystems:
Stats panel now allows child subsystems to pass it a message to add to its stats entry. All subsystems have been moved over to this system - This should cut down on subsystems having to copy and paste the stats proc in order to add to it
All subsystems now properlly handle being given a zlevel in their init proc
Subsystem changes:
Air:
Added air to the dynamic wait subsystem. upper bound: 50, lower bound: 5, cost delta: 3 times process cost
Air now fires 4 times faster when it can do so without lagging things up
Pipenet has been merged into air
Atmos machinery now processes with process_atmos(), ticked by air, not machinery.
Hotspots (the fire object) are now object pooled
Pipenet:
Deleted, added to air
Machinery:
Moved all atmos calcualtions in all objects's process() to process_atmos().
Lighting:
Added Lighting to the dynamic wait subsystem. upper bound: 20, lower bound: 5, cost delta: 3 times process cost
Ticker:
Fixed ticker not updating the lobby panel when game start delayed
Fixed the game start timer updating rapidly from queued fires when game start delay is removed
Garbage/qdel:
qdel will now limit its process time to 2ds a fire.
qdel can now be given hints as a return to Destroy() as to what should be done with the object.
the options are:
queue: (default) this is the normal behavior.
letmelive: old default to non-null/zero. does nothing with the object
iwillgc: functionally the same as above, mainly to let people working with objects know that the object will not be queued for GC checking
harddel: this will queue the object to be deleted without storing a soft reference, mainly to save locate() processing time.
harddel_now: this will del() the object. To allow for a clean removal of every del() not in qdel
All objects have been updated to the new system, harddel and iwillgc was not added to any new objects.
Fixed some objects not GCing because they didn't properlly clear references in Destory()
Fixed some objects getting qdel'ed preventing other objects from getting GCed because they did not null their reference to that object.
- The button is now labelled "Make Centcom Response Team"
- Added different response teams of varying strength, to give admins more options than balls-to-the-walls all the time
- Code Green: Centcom Official
- Code Blue: Light ERT - No access to lockers or admin weapons
- Code Amber: Full ERT - Access to lockers, but not admin weapons
- Code Red: Elite ERT - What we have now.
- Code Delta: Deathsquad
- Removed Make Deathsquad button as it's all collapsed into this one button now
###Major Changes###
- Influence income changed to provide weaker gangs a bigger boost, while slowing down stronger gangs to promote opportunity for comebacks
- Gangs only earn influence on territories they have held on to since the previous Status Report (the income calculation every 5 minutes). This places more significance on defending your existing territory.
- Victory conditions are only checked during Status Reports.
- Bosses no longer receive territory updates real-time. They now get them all as a list of new and lost territories in the Status Update.
###Minor Changes###
- Goal is now a coeff var so it can be modified in-game for debugging/playtesting purposes
- Simplified some list checks for gang
- Trying to tag an invalid area will just error out and return, instead of the ganger spraying regular grafiti and confusing people
**Major Changes**
- Increased win condition to require 66%
- Added a switchblade. A relatively cheap and decently robust melee weapon for gangsters.
- Capped how much influence you can get every income at 50
- Limited gang spraycan use to 15
- Pistol cost increased to 30 Influence
- Promotion cost now scales to how many bosses you already have. The more bosses, the more expensive it will be. It starts off cheap at 20 influence now.
**Minor Changes**
- Tagging a territory now tells you what territory you actually tagged!
- Added an option to silence the verbose territorial updates you get from gangtools
- Capped how much influence you can get every income at 50
- Updated Centcom report on gangs
- Spraycans always show their inhands now, instead of only when uncapped
- Antag panel now shows how much influence each gang has
- Cleaned up gang code in the traitor panel
- Fixed non-gangers getting gang messages when trying to spray on an invalid territory
Gave mines more vars related to their effects, repathed some mines to
make this easier, and added new sound mines, that play a sound when
triggered. Who let that clown in?
Replaced the minepayload var and the switch() in triggermine() with a
proc for the mine's effect.
Removed unnessecary New() proc.
Removed the existing uglymine icon state and renamed uglyminearmed to
uglymine.
The coding isn't done yet, but the design is. So comment on the design while I smooth out the code.
tldr; Gang mode rewrite to follow my original vision: Slower and longer rounds with less deathmatching, and a resource both teams have to fight over
NEW OBJECTIVE: CLAIM HALF THE STATION AS TERRITORY
- Gang bosses can spawn special spray cans that can be used to tag areas
- Any gang member can tag areas.
- Gang tags must be removed before another one is placed in the same area
- Game mode no longer automatically ends when the boss dies. It now ends when either the station evacs, or one gang claims more than 50% of the station areas
- Boss can promote gangers into his lieutenants, which basically means adding more bosses
- Lieutenants can do anything bosses can except promote others to lieutenant
NEW RECRUITMENT TOOL: PENS
- Recruitment pens replace flashes
- Looks exactly like a pen. Stab people to recruit them.
- Recruitment is silent but obvious to the perceptive (Causes a brief seizure)
- Cooldown between uses that gets longer as the gang gets larger
NEW TOOL: GANGTOOL
- Replaces the recaller device. Can still recall the shuttle.
- Provides overview information about the gang (membership size, income amount and time)
- Can spawn pistols and ammo
- Can spawn additional recruitment pens
- Can spawn additional gangtools (For personal use, or promoting a single ganger to lieutenant)
NEW CURRENCY SYSTEM: NAME IS WIP
- Gangtools purchase items with new currency with the placeholder name "Supply Points (SP)"
- Supply points are collected every 5 minutes. The more territory a gang has claimed, the more points they get.
- Supply points are accumulated per-gang. Having more gangtools does not intrinsically give you more points to use.
Fixes current_cycle being incremented twice for certain reagents.
Fixes flash never working for /datum/effect/effect/system/reagents_explosion because of a typo.
Readding nitroglycerin reagent, it can now be stabilized with stabilizing agent and can explodes when exposed to 474K (like blackpowder).
Readjusted black powder explosion: no more flash (like nitroglycerin), tweaked the values a bit to not nerf blackpowder explosion.
Adding changelog.
All reagents are back to being metabolized every tick. I adjusted the goon chem so their effects aren't changed too much.
Removing some probability and randomness from goon chem effects to make it more predictable.
Adding overdose to space drug.
Making a drug reagent category.
Changed check_ear_prot() for carbons: alien are now immune, and monkey checks their head for ear protection.
Changed flashpowder flashing code and blackpowder explosion code to use already existing procs.
Moved chemical_mob_spawn and goon_vortex procs to /datum/chemical_reaction/
Fixes double overdose message for sugar.
Remove the "if(!M) M = holder.my_atom" at the beginning of a lot of on_mob_life procs, you already can't call on_mob_life if M is null
(Chemistry-Holder.dm).
Moved random_color_list to datum/reagent/colorful_reagent
Nerfed healing power of stimulant. Buffed ephedrine a bit.
Fixes some goon chem on_reaction() proc leaving resulting chem behind when they shouldn't.
Removes Life, nitroglycerin and Corgium reagents. They're now only a chemical reaction.
Moved grenade launcher and syringe gun from reagents module folder to gun folder.
Added a message for the ghost when someone is trying to revive its corpse with strange reagent. (like defib)
Fixes Frost oil and other consumable reagents using current_cycle var.
Fixes runtime where during metabolization a reagent removes another then the latter still calls on_mob_life().
Fixes surviving suicide
Fixes suicide damage overlays.
Fixes ninja regen "clothes warm" spam message. (moving rad armor check outside of apply_effect)
Fixes ninja smoke bomb count.
Fixes dead shaved corgi
Fixes lipozine still being in code.
Fixes flattening boxes requiring them to have their window opened.
Fixes armor softening message from disarm attack.
Fixes player being forced to play spiders without choosing.