Commit Graph

373 Commits

Author SHA1 Message Date
Rolan7 d871779432 Replaced the isRobot() check with two new functions, one of which is overloaded for robots. Object oriented programming intensifies! 2014-05-09 18:03:49 -04:00
Rolan7 5b219ea119 Fixes issue #146, borgs placing modules on people
Simple fix for this one...
2014-05-07 14:54:35 -04:00
MrPerson 9d9a657acf Change examine() from an atom verb to a mob verb
Just in time for the feature freeze, a big change that will introduce bugs! Yay!
Mob verb is called verb/examinate(target), which just calls target.examine(user) and face_atom(target)
For explanation why, see http://www.byond.com/forum/?post=1326139&page=2#comment8198716
Long story short, mob verbs are much faster than object verbs. The goal is to make right-click menus populate faster.

Also changes a bunch of examine() procs to always, ALWAYS call the parent. Except mobs, but you have 1 guess why I'm not touching them. Mostly this affects obj/item/examine().
And also remove a whole shitload of pointless set src in view(2) kind of crap. Also span classes.
2014-05-01 09:56:39 -07:00
Rolan7 0656ef44e4 Fixes issue #3401 by adding a helper proc to mobs which specifies whether a mob has the racial ability to eat and drink, and checks this proc in the "canconsume" reagent proc (called when someone is fed or tries to eat/drink). Humans, aliens, and monkeys can all be fed food and drink as a result, and service borgs can no longer drink their own coolaid (to get diseases or otherwise). 2014-04-25 14:37:27 -04:00
Cheridan 4539711d9a Merge pull request #3459 from MrPerson/screen_deletion
Remove some unnecessary code of mine that's causing runtimes
2014-04-21 13:26:49 -05:00
Razharas a2895ed9dc Merge pull request #3446 from Aranclanos/LindaChecks
Admin status panel, extra air thingies
2014-04-19 19:04:49 -07:00
MrPerson 5e92f3acfe Remove some buggy ass, unnecessary code of mine that's causing runtimes 2014-04-19 12:56:43 -07:00
Aranclanos ca67aeb3aa Added more stuff to the status panel for admins, air related, these are only temporal (hehehe) 2014-04-17 21:37:06 -03:00
Ergovisavi f302adc8ab Merge branch 'master' of https://github.com/tgstation/-tg-station into mineral_economy 2014-04-16 16:58:28 -07:00
MrPerson 910dae4154 Make reenter-corpse not delete your spells 2014-04-09 13:10:48 -07:00
Malkevin d4e0052d03 mob.dm 2014-03-29 17:05:34 +00:00
Malkevin c3552606f1 Merge branch 'master' of https://github.com/tgstation/-tg-station into saccult
Conflicts:
	code/modules/mob/mob.dm
2014-03-29 16:59:14 +00:00
Cheridan c8da962b40 Merge pull request #3195 from MrPerson/qdel_ei_nath_REDO
Make ei nath not destroy brains again
2014-03-28 13:03:11 -05:00
Malkevin 3ff519cefc Merge branch 'master' of https://github.com/tgstation/-tg-station into saccult
Conflicts:
	code/modules/mob/mob.dm
2014-03-28 10:51:48 +00:00
Razharas 3000586e7b Merge pull request #3216 from Aranclanos/ClickDownRemoval2
Click cooldown removal take 2
2014-03-28 02:39:25 -07: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
YotaXP febfa4d1e5 Merge branch 'qdel-with-datums'
Conflicts:
	code/_onclick/hud/screen_objects.dm
	code/controllers/garbage.dm
	code/game/atoms.dm
	code/game/objects/items/weapons/storage/storage.dm
	code/modules/mob/mob.dm
2014-03-27 21:46:53 -04:00
Ergovisavi d55d72f049 Merge branch 'master' of https://github.com/tgstation/-tg-station into mineral_economy 2014-03-26 18:14:48 -07:00
Malkevin 96a892cacc Removed some debug check
Fixed the Debugger not selecting antags
2014-03-26 19:49:14 +00:00
MrPerson 1fa3dbde0c Make ei nath not destroy brains
Also small tweaks to make spells GC if you use the spellremove() proc.
2014-03-26 08:38:26 -07:00
Mloc-Hibernia 8af8a43d6f Initial pass to convert LF to CRLF
Signed-off-by: Mloc-Hibernia <colmohici@gmail.com>
2014-03-24 08:53:40 +00:00
YotaXP 3656217c29 Modified qdel() to accept any datum.
The garbage controller no longer bothers nulling out every variable on destroyed objects.
An object can opt to not be collected by returning true from Destroy().  Useful for pools or other edge cases.
Fixed boxes not being collected, along with a couple other things.
Turfs will not be monitored for collection.
generate_ion_law() is no longer a /datum proc, and I am an admin in the repo.  Deal with it.
2014-03-24 00:10:43 -04:00
Malkevin 542da7d73b Merge branch 'master' of https://github.com/tgstation/-tg-station into saccult
Conflicts:
	code/game/gamemodes/cult/runes.dm
	code/game/gamemodes/wizard/soulstone.dm
2014-03-22 21:01:09 +00:00
MrPerson 2858bf1c18 Fix for changling powers arm blade and fleshy space suit.
More del(AM) -> qdel(AM) and Del() -> Destroy()
Fixes a terrible bug that would have meant players could only ghost once.
2014-03-21 22:26:50 -07:00
MrPerson 6930283efc Merge branch 'master' of https://github.com/tgstation/-tg-station into qdel_r
Conflicts:
	code/game/gamemodes/changeling/changeling_mutations.dm
	code/game/gamemodes/changeling/changeling_powers.dm
	code/game/gamemodes/malfunction/Malf_Modules.dm
	code/game/objects/items/weapons/tanks/watertank.dm
	code/game/objects/structures/tables_racks.dm
	code/modules/research/server.dm
2014-03-21 03:05:39 -07:00
Ergovisavi d0ef73125a Various mining changes IE: mineral amounts per tile, mining mob stuff, mob anchoring, etc 2014-03-20 20:10:54 -07:00
Malkevin 7d2e2de62c New rune: summon artificer shell ("travel", "hell", "tech")
1 cultist
Requires 4 plasteel to convert to a shell

Boring coder stuff: Wrote a proc called mob/proc/sac_act - pretty simple thing that gets called in the sacrifice rune instead of it being a huge unwieldy wall of text full of conditionals
Exciting future of the game stuff: This will allow me to enable all mobs to be sacrificed.
¬TO-DO: Move current sacrifice code into relevent sac_act procs for humans, monkeys, aliums
¬TO-DO: Write sac_acts for the other mob types
-¬DONE: Corgis
--¬TO-DO: Make corgi sacrifice !!FUN!!
2014-03-19 00:13:28 +00:00
Perakp fa56f9892e Merge with master, dissonant shriek and organic space suit
- Changed dissonant shriek and organic space suit from old verb system
to new system.
2014-03-15 13:49:26 +02:00
MrPerson 75353c1681 Stat number of dels per tick
More del(AM) -> qdel(AM)
2014-03-08 23:26:33 -08:00
MrPerson 6b29fecda1 Merge branch 'master' of https://github.com/tgstation/-tg-station into qdel_r
Conflicts:
	code/game/machinery/bots/ed209bot.dm
	code/game/machinery/rechargestation.dm
	code/game/machinery/turrets.dm
	code/game/objects/structures/crates_lockers/closets.dm
	code/modules/research/circuitprinter.dm
2014-03-08 22:03:03 -08: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 917a2dd2a4 Rename equip_to_slot_or_qdel() -> del()
Still qdel()'s them, just naming the proc back.
Should hopefully reduce the number of lines different in the pr.
2014-03-02 21:08:25 -08:00
Perakp edb2154b48 - Changes changeling abilities from verbs to proc_holder objects.
- Functionality should be unchanged
- Admins can varedit chemical costs of individual abilities.
- Allows coders to implement sting upgrades more easily.
2014-03-02 09:12:03 +02:00
MrPerson 48923f9ce5 Redo of jitteriness and dizziness.
Fixes #2923
2014-02-27 23:19:44 -08:00
MrPerson f27d35b760 Made gibbing not look stupid.
Also some basic stuff in an attempt to get complex mobs to GC. Still doesn't work atm.
2014-02-26 23:44:19 -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
Miauw f75692ceed Fixed more NODROP runtimes 2014-02-23 19:34:49 +01:00
Miauw 2a7f688d90 Fixes a NODROP runtime. 2014-02-23 19:20:27 +01:00
Perakp bf6f9d3786 If this works I'll be very happy
I think I’ll try to merge these commits later.
2014-02-19 00:42:15 +02:00
Perakp 9f43935f89 Trying to fix mob.dm merge conflicts
I’ll do this over and over again until it works
2014-02-19 00:28:22 +02:00
Perakp 7e324bb17c - Still fixing merge conflicts
- Giving spells to mobs without minds should work
2014-02-14 21:32:16 +02:00
Perakp 7ca06565b5 Merge remote-tracking branch 'upstream/master' into spellsFromBodyToMind
Conflicts (Resolved):
	code/datums/spells/mind_transfer.dm
	code/game/gamemodes/wizard/artefact.dm
	code/modules/mob/mob.dm
	code/modules/projectiles/projectile/change.dm
2014-02-14 20:57:11 +02:00
Tenebrosity f495c1caac Removes falling in space
You can still be stunned, slip (unfortunately), be pushed or die, your
icon just remains upright to simulate zero gravity. Upon being dragged
into the station, your body thumps to the ground inside the airlock.
It's pretty neat.
2014-02-08 13:58:22 +13:00
MrPerson 931da9e7ef Many changes
Much diff
2014-02-04 22:49:38 -08:00
Tenebrosity 560c5fc781 Fixes thuds in space and hats falling off
Fixes #2550 by adding a check for space turf at the location of the mob
before playing a bodyfall sound

Fixes #2494 by following Carn's suggestion of determining whether a hat
will fall off based on its head cover and head hide flags.

Thank you @Razharas and @MrPerson for help with bitflags.

Thanks @Supersayu for providing a lot of this code.
2014-01-31 15:17:08 +13:00
Malkevin a1c4c4bbd7 Merge branch 'master' of https://github.com/tgstation/-tg-station into bugfixes
Conflicts:
	code/modules/mob/mob.dm
2014-01-26 19:22:33 +00:00
MrPerson 5987de4804 Redo on that merge into master, my bad. 2014-01-15 20:12:52 -08:00
MrPerson 9a562efb35 Update to master (branch was way out of date) 2014-01-15 19:34:35 -08:00
Malkevin a8c153a290 A bunch of bug fixes
-fixed space ninjas not being able to charge directly from power cells - fixes #2139

-'fixed' Distro/Waste Monitors not displaying pressure read out when sensor was reading zero pressure - fixes #
227

-removed the canmove check on camera consoles - fixes #490

-Fixed stealmin's real ckeys showing in the admin-pm reply dialog's title - partially fixes #2163

-Fixed people buckled to chairs not dropping their items when appropriate (like when dead) - fixes #2172

-Fixed people being able to use uplink functions whilst stunned/dead/etc - fixes #2144
2014-01-11 18:37:31 +00:00
Perakp 8ba1e8cd33 - Moves spells from the mob to the mind.
- Construct spells are an exception.
- Spells are transferred whenever a mind is transferred: cloning, pod cloning, borging, staff of changing.
- Spells are not transferred when you create a new mind for a new mob: soul stones, golems, respawns.
- To my surprise, this did not fix the issue where a mind-swapped wizard loses their spells when their original body is destroyed. I do not know why this happens.
- Non-human mobs can't use spells by default. Varedit spell.human_req to do that.
2014-01-10 15:59:55 +02:00