Fixes 1128
Changes the href link of the AI tracking to be just the name displayed in-game instead of the reference of the mob.
Removes faketrack from atom/movable/virtualspeaker as it becomes useless.
Removes lots of copypaste.
Admin newscaster barely modified, they still are a gigantic copypaste from the topic.dm() of the newscaster object.
Printed diaries will now only report the information available when they were printed, including wanted status and the different types of censorship.
All datums are now under /datum/newscaster
Wanted is now a different type of datum, /datum/newscaster/wanted_message
Fixed a bug where you couldn't censor normal submissions, made by crewmembers.
Fixes#944
For the measly cost of 5 influence, bosses can send a discreet gang-wide message.
If this is non-freeze-friendly feel free to ignore this but it's a minor tweak that could help improve the fledgling game mode before people get sick of it.
- Viciously rips radio code from bots, replacing it with something
better and faster!
- Bot patrol logic redesigned, much faster.
- Gives all bots Robotics access for easy patrol activation.
- Bot navigation beacons are no longer radios. Instead, they are
maintained in a global list.
- Navbeacons can now be accessed by Roboticists, and they use a better
UI.
- PDA bot code rewritten. They no longer use radio objects at all!
- Captain now has all-access! His cartridge now has everything except
Mime and Clown functions.
- There is now one button across all PDAs for accessing bots. Only bots
you have access to control will show on the list.
- Buffed the signaler cartridge! It may now be used to signal on all
valid frequencies.
- The AI's botcall interface now includes the bot's model, so it can
always identify the type of bot it is controlling. PDAs have this as
well.
- Spilled my blood to begin Jordie's dark ritual.
Squashed commit:
[971e023] Lets try loosening the restrictions on territory tagging
[c55a30d] Reduced pen cost to 40
[2b83dca] Formatting and changelog
[1fe81a8] Let's make the message slightly less gamey
[3067acc] Changeloggery
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.
- Bosses can now summon their gangsters to a location with the gangtool
- Gangtools cannot recall the shuttle if the station is too damaged (<70% Integrity)
- Fixed SSshuttle.emergencyLastCallLoc not being handled or stored properly. Fukken Carn breaking my shuttle features.
- Fixed a potential injection exploit in gangtool's can_use()
- Jobbanned players cannot be promoted
I'm quite satisfied in the current state of gang and I feel that I no longer have any more significant changes to make. Gang 5.1 includes primarily minor tweaks.
- Goal reduced back down to 50%
- Boss icon made more obvious. They're now red Gs
- Better descriptions for distributing spraycans and victory conditions
- Lieutenants receive objectives now
- Increased spraycan use to 20
- Poseur tags no longer pick gang B's tag
###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
Moves most of the code from violin up to instrument and makes violin a child of it. (Guitar is a child of it as well.)
Fixes violins on Metastation and Box due to the repath, adds the guitar to both.
- Reverted the boss icon back to use a B. I changed it for a different idea I had but I never went through with it but I forgot to change the icon back
- Price tweaks
- Increased pen cooldown to (15*Gang size)+45 seconds
- Promotion cost now counts how many times you bought that item instead of how many bosses you have, so you can't stockpile on cheap gangtools before promoting anyone
**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