Commit Graph

14 Commits

Author SHA1 Message Date
Sawu
fc56e7f529 SNPC Expansion v. Traitorous Scum
* Fixes SNPCs still healing people
* SNPCs now use similar speech handling to Poly, and will mimic phrases in addition to their usual speech
* SNPCs can now be spawned as traitors, and given a special role.
* Greytide SNPCs now wear assistant outfits
* Certain jobs are now restricted to their area (can be toggled with restrictedJob)
* SNPCs start with a minor variation in stats
* Bartender SNPCs should now appropriately serve people
* Chef SNPC workflow redone, they will now prioritise preparing food over making it, and should serve more food to tables
* Third attempt at fixing infighting
* SNPCs should no longer repeatedly stun a target
* Friendly SNPCs now no longer have a combat module, and they are the station's faction
* NPCPool will routinely trim orders from it, reducing the amount of order ping-pong
2016-03-13 18:21:37 +11:00
Sawu
9caed06d78 Condenses cleanNull() using listclearnulls() 2016-02-27 07:02:50 +11:00
Sawu
3369739693 SNPCs v3: Robustaloo
Makes a number of changes and tweaks to SNPCs to make them work better in general.
* NPCPool now automatically clears nulls from its list (badminnery, singulo, gibbing etc)
* NPCs now correctly update their eyes when delegating
* NPCs will blacklist items they deem unusable (currently only empty guns)
* Augmentation chance is now singular instead of recursive
* NPCs support favoured types, which they will use above others when equipping, fighting and looting
* Renamed the non-descript "isnotfunc" to "IsDeadOrIncap"
* enforce_hands() now ensures the held items are still held by the npc (no more floaty items and ghostly guns)
* take_to_slot() now supports taking to hands directly
* NPCs will now appropriately dress themselves
* Interest/Timeout rates tweaked to create smoother transitions between states
* NPC choice system moved from prob to switch to create more activity
* NPCs now have a basic pathfinding system that should work (in most cases)
* Shitcurity NPCs now use any restraints, not just handcuffs
* NPCs spawned with the janitor job will now do some basic janitorial duties
* NPCs priorities in terms of weapons and held objects have been completely rebalanced
* NPCs will now appropriately equip, fire and discard guns.
* NPCs using guns will attempt to maintain a range instead of shooting point blank
* NPCs doorscan now uses all directions to improve mobility
* NPCs doorscan places the NPC in the door instead of attempting to path to it.
2016-02-27 06:11:13 +11:00
Bjorn Neergaard
531e4b947f Subsystem display tweaks 2015-12-05 10:13:59 -06:00
Bjorn Neergaard
34b717afb4 radio_controller -> SSradio, SSbp -> SSnpc 2015-12-04 22:25:24 -06:00
Firecage
4688c2c969 Fixes proc arguments 2015-07-15 23:52:35 +02:00
GunHog
cdc3e5c174 Removes bots from NPC Pool
It was causing unexpected and buggy behavior with certain bots, and has
been tossed in the bin along with radio code.
2015-05-07 08:42:31 -05:00
MrStonedOne
94a132dbde pr-9231 changelog and minor subsystem tweaks 2015-05-01 05:24:33 -07:00
MrStonedOne
bd6d51a0b5 Massive MC and subsystem rewrite
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.
2015-04-29 02:00:25 -07:00
MrStonedOne
a6602795c9 fixes runtimes with npcpool 2015-04-14 10:30:58 -07:00
hornygranny
35498dc200 Merge pull request #8686 from sawu-tg/npcpool
Fixes to SNPCs
2015-04-01 11:47:57 -07:00
Sawu
799eadb6c8 Fixes to SNPCs
* Fixes two runtimes (stat menu and taking a delegate/assistant)
* Fixes SNPCs not being inserted into the NPCPool
* Makes the NPCPool fire more often for maximum robustness.
2015-04-02 05:19:21 +11:00
Sawu
1142cbd355 Fixes NPCPool stat runtime 2015-03-30 09:35:33 +11:00
Sawu
ab776cf014 Updates the NPCPool to current branch.
see #7012
* NPCPool will co-ordinate and organize all SNPCs, making them stronger and more intelligent.
* SNPCs can use the botPool system to co-ordinate and delegate with each other.
* SNPCs have been given factions to allow interoperability between certain types of SNPCs.
* Bots (machinery/bot) can use the system too for basic help and coordination.
2015-03-30 02:50:21 +11:00