- Experiment: Loyalty implants will no longer survive deconverting a gangster. Security now needs to use two of them if they want the permanent effects: The first to deconvert them, and the second to make them loyal.
###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
- fixes constructable chem master icon when parts are exchanged. 8616
- lowers toolboxes inhands sprite, fixes missing one. 8433
- fixes exploit in pandemic to avoid the bottle creation cooldown. 8031
- fixes chem grenade not getting to southwest side. 8019
- remove handle_env, /handle_random_events() and handle_blood at carbon level, identical to living level.
- fixes human bodytemp dropping to 20C in normal environment. (32.5C 90.5F when naked now)
- you now need both adequate headgear+suit to protect against pressure. (removing two defines)
- fixes alien hunter being immune to env fire in stalk mode (removing hunter/handle_env())
- fixes monkey not metabolizing reagents, also make larva metabolize them. 7108
- remove calculate_affecting_pressure from monkey level, simplification.
- refactors monkey's handle environment, no more handle_temp_damage proc, it's all in handle_env.Fixes temperature alert not showing for monkey.
- refactor monkey/handle_fire (similar to alien/human now.)
- replaces morphine with stimulants in adrenal implant. 8832
- refactor handle_breath_temperature.
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.
I'm going on vacation soon so I thought I might as well bring this game mode back up to at least a minimally functional state before I go.
A lot of features (Gang membership visibility, conversion pens, weapons, deconversion methods) have been stripped out for now. I gave gang bosses uplinks in the meantime.
It's basically rev vs rev right now, but the victory conditions with the recallers are still there. I'll work on adding more stuff after I return from my vacation.
Replacing some fo mob in viewers() show_message() with visible message().
Simplifying some message code in a couple places, fixing typos and span classes.
Monkeys can still be revs, so they should be able to be loyalty implanted. This would also fall in line with the other implants, which have no race restriction.
Fixes#637
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
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.
The freedom implant is now shrugs only, and the emp implant can now not be shrugs.
The freedom implant now has an assured 4 uses instead of rand 1 to 5 because... why?
Adds an explosive implant to the bundle, and labels it since there's a good chance the traitor would rather use it on someone else instead of themselves.
No F U C K S given.
- EMP-Flashlight now has one charge less but recharges (slower than lasers/energy crossbows do)
- EMP-Flashlight description no longer reveals the nature of the device
- EMP implant now has two uses
- EMP kit now contains two grenades
- EMP and adrenaline implants now inform the user how many charges they contain to begin with (freedom doesn't because it's intentionally random)
- Fixes EMP flashlight sometimes going down to -1 charges.