Commit Graph

89 Commits

Author SHA1 Message Date
ktccd
9a2c60cac6 Fixes issue #13126and also a few other areas blobs shouldn't be win from absorbing (centcom, SPACE etc).
🆑 ktccd
Fixes bug #13126 and also a few other areas blobs shouldn't be win from
absorbing (centcom, SPACE etc).
Added a variable to areas.
Kept the original blobs list as a list of all blobs, in case that was
used somewhere else, and instead made a separate list for legit blobs.
/🆑
2015-11-24 01:09:01 +01: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
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
phil235
04287730bd Copy of Anonus' Blob tweak PR, with less commits. 2015-09-15 16:03:55 +02:00
Razharas
33ff21393d Merge pull request #11495 from Anonus/stopbombingtheblob
Blob is now much more resistant to explosions.
2015-09-01 18:37:33 +03:00
duncathan
51c09f16bf makes all Destroy()'s return properly 2015-08-31 00:21:01 -06:00
Nerd Lord
7802332dcf Actually nah touch lower, given how many there can be. 2015-08-30 19:56:30 -04:00
Nerd Lord
12a7ebb776 STOP BOMBING THE FUCKING BLOB, ASSHOLE
Also gives blob types and mobs better descriptions because WOW these were bad.
2015-08-30 19:54:55 -04: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
MrPerson
471d69fcf7 Change many ERROR() calls into thrown exceptions
This requires a 508 beta version to use. If Travis fails this he's a bitch

Exceptions will generate a stack trace, which is way easier to see and more helpful in actually solving this kind of crap. Also logs all the arguments, src, line, and file automatically.
Removed any dubiously helpful information in the exception names so the runtime condenser won't see each one as a different runtime. If the information is critical to solve these bugs (camera one maybe?), then I'll just make these warnings.
Thrown exceptions crash the currently running proc. Yes that means there's useless returns in a bunch of these, sue me. spawn()'s are to let the proc continue.

Almost all of these are difficult to trigger, but I did test playsound. And frankly even if they do cause bugs by crashing procs, big whoop
2015-07-23 08:19:08 -07:00
Firecage
4688c2c969 Fixes proc arguments 2015-07-15 23:52:35 +02:00
AnturK
0bfe2a191b removes leftovers 2015-06-29 19:02:51 +02:00
AnturK
ef9712be12 Polling instead of persistent. 2015-06-28 15:23:43 +02:00
AnturK
20576bb71f Adds blob toxin to examine 2015-06-28 14:34:48 +02:00
Incoming
91cf7db276 Stops blobs from getting ruined by stamina damage 2015-04-15 14:43:39 -04:00
phil235
c67423adf5 Fixes alien humanoids not being able to attack blobs.
Created a take_damage() proc for obj/effect/blob.
Slight adjustment of the values of damage to blobs.
Fixes typo in pod people attack message (changed the verb from "slice" to "slash")
2015-03-28 19:27:07 +01:00
Remie Richards
736ffafa55 Merge branch 'master' of https://github.com/tgstation/-tg-station into BlobReroll
Conflicts:
	code/game/gamemodes/blob/blobs/blob_mobs.dm
	code/game/gamemodes/blob/blobs/core.dm
2015-03-01 00:18:19 +00:00
Remie Richards
5fc7af7fbf attackby() now has an argument containing the parameters of the click that called it. Items placed on tables now center their icon where the user clicked. this is NOT true for racks, since racks look organised in their sprite.
Items reset their pixel_x and pixel_y values on pickup.
2015-02-19 13:02:43 +00: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
fa7e15d734 what is object oriented programming 2015-02-02 18:30:24 -08:00
Iamgoofball
1f7ef9b218 Fixes #7020 2015-02-01 13:58:07 -08:00
Iamgoofball
1543abb43f Moves the core and node sprites to be overlays. Tweaks and adjustments to various reagents. Removes 2 of the reagents for being useless. 2015-01-11 20:04:24 -08:00
iamgoofball
3d331d0802 Reagent Blobs 2015-01-01 02:07:12 -08:00
Razharas
7758a0afed Ok now explosions shall work properly
Changed severity to target, make items not destroy themselves on
severity lower than 1, all that stuff
2014-12-05 23:21:48 +03:00
Cheridan
f909d59d1a Merge pull request #6130 from phil235/AttackMsgStandardizedFormat
Standardizing attack messages to always show the attacker first
2014-12-04 12:45:31 -06:00
phil235
86405fa8c0 Standardizes attack messages to always show the attacker first (when there is an attacker).
Replacing some fo mob in viewers() show_message() with visible message().
Simplifying some message code in a couple places, fixing typos and span classes.
2014-11-24 01:49:34 +01:00
Razharas
ff456ebaf4 Unwinded most of shit
Meh
2014-11-19 21:36:45 +03:00
Razharas
b071a0167e Made explosions work in a slightly different way
Yep
2014-11-18 16:22:41 +03:00
phil235
bc5754b378 adding diagonal attack animation. 2014-11-07 15:42:07 +01:00
phil235
1506383b2c Adding some missing do_attack_animation()
Moving do_attack_animation() proc to mob/living
Fixing the pixel offset issue from beds especially rollerbed.
Fixing the nograv bouncing stopping because of another animation being used.(lying down, jittering, attack animation)
2014-11-03 15:11:39 +01:00
phil235
8b49caa5ee Fixes typos and show messages. Fixes attack animation code. 2014-11-03 01:06:02 +01:00
phil235
3f30912c51 WIP - Adding attack animation to most attacks.
Fixing a couple "for(......) show_message()".
2014-11-02 22:50:58 +01:00
phil235
dbea503e88 Removing the fourth argument (air_group) of CanPass() everywhere, because it isn't used anywhere.
Fixing one instance of "for(mob in viewers) show_message()" to "visible_message()"
2014-10-15 18:03:06 +02:00
Aranclanos
ccae5781c5 added two defines CLICK_CD_RANGE and CLICK_CD_MELEE (4 and 8), replaced all changeNext_move() procs to use these two defines.
Added melee click cooldown for paper spam on cameras.
2014-08-03 22:14:56 -03:00
phil235
fd27c564fc Fix attack message typo. 2014-04-26 22:21:59 +02:00
Miauw
dc9ead6575 Merge branch 'master' of https://github.com/tgstation/-tg-station into warnstandardization
Conflicts:
	code/_onclick/telekinesis.dm
	code/game/sound.dm
2014-03-30 20:48:03 +02:00
Aranclanos
7bcb69ad88 Removes the click cooldown from almost everything, now it should be always be 0.1 seconds.
Ranged weapons and laser eyes have a cooldown of 0.4.
Grilles, windows, windoors, walls and blobs have a cooldown of 0.8.
Hitting mobs will also have a cooldown of 0.8.
Removes the unused USEDELAY flag.
2014-03-28 06:32:47 -03:00
MrPerson
97b081bc0b Fix some blob-related qdel() issues.
In particular, the one where dead blob spores make a shitload of smoke and become invisible and generally be buggy on death.
Also blobs should GC correctly now.
2014-03-23 23:25:46 -07:00
Miauw
a80dd4df0f Merge branch 'master' of https://github.com/tgstation/-tg-station into warnstandardization
Conflicts:
	code/game/objects/items/weapons/AI_modules.dm
2014-03-22 17:42:07 +01:00
Miauw
520b114293 fixes shit 2014-03-09 18:31:43 +01:00
MrPerson
3c58091437 Merge branch 'master' of https://github.com/tgstation/-tg-station into qdel
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
2014-03-02 21:39:27 -08:00
MrPerson
9eee3e5067 First pass at a qdel() garbage collection system for tgstation
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.
2014-02-23 14:55:12 -08:00
hornygranny
ed12a9cfb0 missing exclamation points 2014-02-20 12:41:23 -08:00
hornygranny
a86de57c05 Fixes #2726 2014-02-20 12:11:00 -08:00
Giacomand
f1e7637bab Disabled the game using set background by making all instances of it use a define, which can be changed in code/_compile_options.dm
Testing has revealed that it reduces the sluggishness of the game, though it will spike from lag when the singularity is loose. Thanks to ChuckTheSheep for suggesting it.

Server owners who want to keep set background enabled can do so by changing the define.
2014-01-10 18:32:28 +00:00
Giacomand
b8c031026c * Telescience now works on bluespace crystals, which are special crystals which unlock power settings from the telescience computer.
* The telescience computer starts with 3 artificial crystals.
 * The crystals can be crushed to blink or you can throw it at someone to make them blink a short distance.
 * You cannot teleport the AI or any anchored mob (unless they are buckled to an office chair).
 * You can make the bluespace crystals from slimes or from research.
2013-11-12 14:24:56 +00:00
Giacomand
9b9762d612 Blobs will slowly regenerate health when pulsed. They have a second cooldown after every pulse to make sure 5 nodes aren't healing them too quickly.
Changed how the overmind hud was updated so that it was more accurate. Instead of updating every life() it will update everytime the blob core health changes and everytime the resource count changes.

Renamed the expand power to "expand/attack", to make it more clear to new blubbers that you use it to attack people.
2013-11-01 23:28:02 +00:00
Giacomand
1aeed2d768 Changed the fluff text for creating constructs from a soulstone.
Added an attack_animal() for blob.
2013-10-19 21:19:58 +01:00
Giacomand
d5f96002be Blob Features!
A blob tile will light up when it is being pulsed by a core/node, adds crucial visual feedback when placing resources/factories.
New shortcuts for the blob. Expand = CTRL Click - Rally = Middle Mouse Click - Create Shield = Alt Click
Blobs can now talk to each other and ghosts can hear them. Thanks to /vg/ for this code.
Removed the unnecessary AI quarantine code.
Formated the blob code to use the standard.
2013-10-06 22:56:22 +01:00
Giacomand
db72780399 Made tweaks to blob based on feedback.
Made the blob start strong but grow slower, helping stop situations where the blob is instantly caught and gets wiped out and stop the blob from being unstoppable after making 4 resource blobs.

Removed the AI quarantine laws from the blob gamemode.

People didn't like getting instantly KO'd by the blob, reduced the damage output to encourage melee engagements.

Blob overminds can see in the darkness now.
2013-08-12 16:57:52 +01:00