Commit Graph

73 Commits

Author SHA1 Message Date
Nerd Lord d63dbdcb96 I guess they can be fast if it's 1 per 2016-03-04 17:07:31 -05:00
Nerd Lord f869a2c9f3 Blobbernauts are now one-per-factory, reduce the factory's maxhealth by 75% while alive, and die slowly if they have no factory 2016-03-02 17:53:30 -05:00
Nerd Lord 39f8f7b5a8 " 2016-02-29 22:06:58 -05:00
Nerd Lord 0b7531e1b3 blobbernaut produce message tells you more things 2016-02-29 20:09:58 -05:00
Nerd Lord 6002f1467a Adds blobbernaut production animation.
Spores now fly properly(and zombies don't)
Added Adaptive Nexuses, which does medium brute damage and kills unconscious targets, reaping points for the overmind.
2016-02-27 22:00:49 -05:00
Nerd Lord 08b3c246e9 Blob event can now happen earlier.
Bonus; fixes a bug where blobbernauts spawned from factories would wander in the 5 seconds before they got a client
2016-02-24 12:10:00 -05:00
phil235 91839f5f70 Action buttons will now only update when needed instead of every Life().
The action buttons now update their icon instantly.
Fixes versions of pickup(),equipped() and dropped not calling the parent.
Fixes drone not being able to remove a defib from their storage.
You can now cycle the mime mask by clicking it in your hand.
The action buttons for hardsuit and hooded suits now only appears when you're wearing the suit.
Created two mob helper procs getBeltSlot() and getBackSlot().
Created /datum/species/proc/on_species_loss() to handle stuff when our race change, currently only used by jelly and slime race to remove their exotic blood from our reagents and to remove slime people's action buttons.
2016-02-22 00:34:59 +01:00
Nerd Lord ea67e1aa0d Blobbernauts can now speak to other blobbernauts and overminds with :b
Blobbernauts and blob spores now have ask, exclaim, and yell speak emotes.
Blobbernauts and blob spores have a randomly-generated number assigned to their names.
2016-02-13 16:47:25 -05:00
Nerd Lord 7369a3a92e proc to set random blob chemical, instead of having the verb do it 2016-02-06 21:00:06 -05:00
Nerd Lord c28c1203cd Adds five new blob chemicals.
Blob mobs now heal for 2.5% of their maxhealth when blob_act()ed, basically whenever they're on the blob
Blob expansion no longer has a chance to fail inversely proportional with the expanding blob's health.
Blobbernauts have slight color differences.
2016-02-06 19:32:30 -05:00
Nerd Lord 74bfcb02f6 Merge branch 'master' of https://github.com/tgstation/-tg-station into fixedblobchemicals 2016-02-03 19:43:50 -05:00
Nerd Lord 7e372d65c3 Tweaks blob expansion to be faster near the expanding blob but slower near the edges of the blob
Blob spores now produce a slightly larger cloud of smoke when dying. Fragile spores and blob zombies produce the current, smaller cloud.

Replicating Foam will try to expand when damaged much more often.
Adds Electromagnetic Web, which does burn damage and EMPs targets, as well as causing a small EMP when dying, but takes more damage; a normal blob that hasn't been near a node or the core for 6~ seconds can be oneshotted by a laser.
2016-02-03 17:15:43 -05:00
Nerd Lord ef88b0fe6e Blobbernauts cost 30 resources 2016-01-30 16:07:09 -05:00
Nerd Lord 4e1357b36c adds spans to the message produced 2016-01-26 11:13:44 -05:00
Nerd Lord 2a4487cf5b Adds blob early communication
blobs can communicate pre-burst to coordinate placement
2016-01-25 22:53:07 -05:00
duncathan salt ffd33bba05 CRITICAL blobbernaut fix 2016-01-25 19:05:09 -06:00
Nerd Lord fe006e5c7f Blob tweaks(forever):
blobbernaut creation costs 30 points, does more damage to the factory
factories regenerate at half rate
reagents tweaked;
lexorin jelly does less brute
energized fibers does slightly more burn
sporing pods does slightly more toxin
replicating foam will try to replicate on all hits
hallucinogenic nectar does slightly more toxin and causes more hallucinations
cryogenic liquid does more burn
synchronous mesh does slightly less damage with one blob but massive damage with more blobs
pressurized slime has a lower chance to emit water when killed and when attacking
2016-01-24 16:05:17 -05:00
Nerd Lord bf394afb80 Storage blobs are gone, blobbernauts now poll candidates, early blob burst is gone, replaced with a help button(of dubious usefulness) 2015-12-29 13:35:13 -05:00
Nerd Lord 87fb506966 Blobbernauts can no longer smash walls.
You know why.
Blobbernauts also get a more accurate description when spawned.
2015-12-27 15:44:18 -05:00
Nerd Lord f95ad72fcd Adds a sound and a brief description of the overmind's reagent at the time of creation. 2015-12-24 21:35:26 -05:00
Nerd Lord 53d0bc5d72 Rebalances blobbernaut creation; blobbernauts no longer destroy the factory, but instead do heavy damage to it, prevent it from spawning spores for one minute, and are player-controlled if possible.
Also fixes some runtimes when killing mice.
2015-12-23 14:50:43 -05:00
Nerd Lord 8f8d677a73 Replaces Split Consciousness with better blob scaling. 2015-12-21 19:32:34 -05:00
Nerd Lord 83507c31fd Fixes pressurized slime giving a message on explosions and fire
Nerfs the shit out of lexorin jelly's oxygen damage(two-hit crit, holy shit)
Blobbernaut chem attack is baaaaaack, but less absolutely insane this time; blobbernauts with an overmind will do 70% of the normal chem damage(plus 4) and attack at a much slower rate than the blob itself can. (So a blobbernaut with the ripping tendrils overmind would do 15 brute and 10 stamina damage)
Full list of blobbernaut hits to kill/stun, assuming no attempts to escape, armor, or bio protection;
Ripping Tendrils; 7, stun at 5
Reactive Gelatin; 5 to 10, Average of 7(not 7.5)
Energized Fibers; 10, stun at 5
Boiling Oil; 6
Sorium; 7, assuming no nearby objects
Envenomed Filaments; 7, stun at 5
Lexorin Jelly(after nerf), 4
Cryogenic Liquid; 9, stun at 7
Dark Matter; 7, assuming no nearby objects
Hallucinogenic Nectar; 8
Pressurized Slime; 7, stun at 5
2015-12-17 19:23:55 -05:00
tkdrg 1f583f0aaf Merge pull request #13683 from Incoming5643/once_you_pop_the_fun_don't_stop
Adds early bursting for blob mode blobs
2015-12-17 15:24:35 -03:00
Incoming ee8a99f492 Adds an icon to allow for early bursting of blobs in blob mode. This additionally does double duty as an obvious message that you're a soon to be blob. 2015-12-15 21:39:42 -05:00
Nerd Lord d98ff20efb the the blob no longer 2015-12-15 17:21:41 -05:00
Nerd Lord 6ad8d63c1d No stealing other people's resource nodes, shitface. 2015-12-14 21:32:44 -05:00
Nerd Lord 2e71b5e122 Changes blob pulsing to use ultra_range and orange.
Blobs now properly remember their overmind and get color from it predictably.
Oh god, I hope I did this right.
2015-12-14 21:05:03 -05:00
Nerd Lord 41fde5757f Fixes up blob code some;
any blob can block atmos, the core and nodes now do so
blobs use two different procs for checking health and updating icons instead of one(there's probably a use for this)
the split consciousness verb now requires a node under your selector, instead of checking a global list of nodes and picking the newest(why?)
blobs can no longer take non-brute and burn damage types(I would make toxin do bonus damage but the crew can't apply it anyway)
2015-12-08 23:58:05 -05:00
duncathan salt 43358ba5d4 Merge pull request #13489 from ktccd/BlobwinFix
Fixes the blob win condition
2015-12-08 11:52:10 -06:00
ktccd c4c6fde30d Fixes the blob win condition
This is a bug that seems to have been around since... a long time ago.
It also explains why blobs keep winning easily, seeing as their win
condition used to be SET to 2*350 instead of increasing by the the
amount used per blob.
This should hopefully make blob mode work as intended.
2015-12-07 00:03:48 +01:00
JJRcop 453e9e9100 Fixes blob broadcast working with dead blobbernauts 2015-11-25 01:07:47 -05:00
Remie Richards af1922ac57 Merge pull request #13128 from Anonus/jauntblob
Adjusts blob ability costs down slightly, gives blobs a hud
2015-11-21 22:38:03 +00:00
Nerd Lord b7dedcf885 Fire, no. Fire, you can't do that.
Also bonus sanity, storage blobs now give and remove the point bonus properly.
2015-11-21 10:57:53 -05:00
Nerd Lord 55b38090cd Fixes a runtime when failing to place a storage blob
holy shit why wasn't this in New() who coded this
2015-11-20 22:00:07 -05:00
Nerd Lord b163bce082 Adds blob help! Blobs can now check what stuff does with a help verb! Help, it's eating me!
Blobs now get to know what their chemical does.
Added two more buttons, for readapt chemical and storage blob.
Added hotkey for removing blobs, alt-click.
Removing a blob gives you some points back.
2015-11-20 17:00:43 -05:00
Nerd Lord 6b72222dbf Gives blobs a fukken hud, with buttons and everything.
Blobs can now expand just by clicking.
Shield blob creation changed to ctrl-click.
Reverted expand cost to 5.
2015-11-20 11:58:55 -05:00
Nerd Lord d1bcc9d0de Blobs now have jaunt. 2015-11-19 21:41:45 -05:00
Incoming 1f9f0dfc40 Adds subtypesof(). It's shorthand for typesof(path) - path.
Replaces typesof(path) - path with subtypesof(path) in obvious places. I was a bit conservative, there's probably a few more places that could use this.
2015-11-16 18:55:57 -05:00
phil235 7d9a9f1324 Readds blob smoke reagent effect.
You can now partially (max is 50%) protect yourself again blob reagent effects (blob smoke and blob attack). Although some effects are unaffected (explosion probability, vortex power, adding fire_stacks).
Changes the "volume" argument used in reaction_mob() to "reac_volume" to avoid confusion with the "volume" variable.
Buffed blob smoke reagent amount from 5 to 10 to counterbalance the nerf from clothes protection.
Blob direct attack now uses the VAPOR method.
2015-08-15 20:56:56 +02:00
phil235 64f028c065 Merge branch 'master' of https://github.com/tgstation/-tg-station into VaporizeMethodReaction
Conflicts:
	code/modules/reagents/Chemistry-Reagents/Medicine-Reagents.dm
2015-08-15 16:36:21 +02:00
Aranclanos 79f0843dfd All blob types will have the overmind var, even if unused, instead of setting it for each subtype.
Removes a lot of copypaste of the checks for the blob verbs to create special blob structures.
Blobs without an overmind will stop runtiming.
2015-08-13 05:12:06 -03:00
phil235 d2a4024e7f reagent reaction() now use more methods. Instead of just INGEST or TOUCH, we now have INGEST (for injection, ingestion), TOUCH (for splashing), PATCH (for patch application and blob attack), and VAPOR (for smoke, foam and spray application).
- TOUCH no longer transfer reagent by default, it's now only used for touch based effect like being flammable when touched by fuel or you and your stuff being acided when touched by acid).

- PATCH does no transfer of its own (but actual patches code do make a transfer) but is used for touch effect that ignore clothes and protection (blob attacks, patches effect going through hardsuits)

- VAPOR does reagent transfer but it takes into account clothing protection

Fixes a typo in humanoid/get_permeability_prot
Fixes acid splashing on objects not destroying it. Fixes acid splashing on turf not destroying objects on the turf.

Changed damp rag smothering code a bit.

Blob Smoke now doesn't do anything.
2015-08-09 14:23:12 +02:00
Firecage 4688c2c969 Fixes proc arguments 2015-07-15 23:52:35 +02:00
phil235 ac63896910 - Foam/moke lifetime is no longer affected by reagents volume.
- Remove show_message argument from blob reagent reaction_mob()'s and remove the if(show_message) send_message(). Now send_message is called directly on each blob strike.
- Changed blob reagent effects to depend on volume so blob spore smoke isn't deadly.
- Breathing smoke now reduces its life expectancy and calls reaction(INGEST) with the accurate amount of reagent.
- Adjusted the effects on mobs of some other reagents.
- Adjusted reagent amounts in chem grenades.
2015-06-24 20:58:22 +02: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
kingofkosmos 1d14471d00 Ellipses to waiting messages. Warning-spanclasses to failing messages with an exclamation mark. 2015-04-24 20:50:50 +03:00
Incoming 3f846a0234 Fixes the spare blob overminds being created on split conciousness
Fixes blobs getting kicked to lobby when killed
2015-03-29 22:15:49 -04:00
Remie Richards 5b2d3ceada Allows overminds to reroll their chemical at a cost, fixes blob cores being invisible, repaths blob mobs to /hostile/blob 2015-02-08 01:22:51 +00:00
Iamgoofball 30967def9e Fixes Rapid Mitosis Blob 2015-01-13 18:36:45 -08:00