Commit Graph

28 Commits

Author SHA1 Message Date
Tkdrg
5589ac7559 Revert "Merge pull request #12935 from AndrewJacksonThe2nd/objectives_rework"
This reverts commit 52a45b6292, reversing
changes made to 19b43ba668.

Conflicts:
	code/datums/mind.dm
2016-01-07 23:15:35 -03:00
AndrewJacksonThe2nd
dca91323a4 Merge branch 'master' of https://github.com/tgstation/-tg-station into objectives_rework
Conflicts:
	code/datums/mind.dm
	code/game/gamemodes/antag_spawner.dm
	code/game/gamemodes/objective.dm
	data/mode.txt
2015-12-28 12:40:51 -08:00
KorPhaeron
780dfe8db1 Ridiculous weapons 2015-11-09 07:17:10 -06:00
AndrewJacksonThe2nd
eaa1d11af4 On stun_nerf: objectives 2015-11-08 21:10:21 -08:00
phil235
da84fcd8d2 - Fixes shadowling receiving burn messages even when dead. I've also fixed the same bug for other species and made certain spec_life() procs not run when the mob is dead. I also made slime species a subtype of jelly species since they had a lot of code in common thus reducing duplicate code.
- Fixes odd behavior with emagging airlock and windoor animation.
- Fixes being able to bloodcrawl in oil decal.
- Fixes being deaf after bloodcrawling.
- Fixes wintercoat hood appearing below the mask.
- Fixes being able to attack another mob before the game has started (and other things which used a gamestart check that no longer works).
- Ghosts can no longer become drones before the game has started.
- Removed "bhunger" and "ajourn" mob vars, they are unused.
- Fixes admin-revived morph being invisible.
- Fixes heart attack stacking losebreath very high. Also now losebreath is reset to 0 when the mob dies.
- All mobs no longer have a default strip menu showing two hands.
2015-10-23 20:00:52 +02:00
KorPhaeron
1ba58674c7 Multiverse fixes, objective tweaks, no traitor status for clones 2015-07-19 08:55:05 -05:00
KorPhaeron
b361c395ab Only me 2015-06-22 00:56:07 -05:00
paprka
ec6b2424d2 purge the unused 2014-11-13 21:10:53 -08:00
Perakp
30544dad08 Fixes #5525 2014-10-29 20:19:12 +02:00
phil235
537280b4b9 Removing many instances of the no longer used second argument of message_admins() proc.
Replacing "for(var/mob/M in viewers()) M.show_message()" by "visible_message()" or audible_message()" in many places.
Changing a few span classes.
2014-10-05 01:29:30 +02:00
Firecage
6d259e10ec Spanclass fixes 2014-09-03 20:00:35 +02:00
Firecage
6c7af5eb32 SPANCLASSES!!!!! 2014-08-26 09:52:13 +02:00
Daniel
30bb6c8814 Generalised ID naming 2014-04-09 18:49:59 +02: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
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
Cheridan
37068f64db THE BORGI UPDATE
-As requested by errorage, you can now place air/oxygen tanks and fire extinguishers on Ian's back. Additionally, you can also place cardborg suit/helmets on him.

-Cleans up some shoe code and unused sprites from feet/suit .dmis.
2013-05-16 19:02:40 -05:00
elly1989@rocketmail.com
97e95e4ab0 Moved "there can only be one" to the secrets panel (fun)
Removed the last of the old promotion/demotion code.
Permissions panel accessible via player panel.
Uncommented the attack log verb. I mistakenly thought it wasn't used.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5102 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-17 23:28:54 +00:00
baloh.matevz
5a199fc564 I started with the desire to fix issue 634. It sounded like a simple issue, right? Well one complete rewrite of how equipping and stripping works later, this commit fixes issue 645
Code-wide changes: /mob -level procs:
equip_if_possible() is now known as equip_to_slot_or_del() to prevent confusion with equip_to_slot_if_possible() and to better describe what it does.

equip_to_slot_if_possible(item, slot, del_on_fail, disable_warning, redraw_mob)

equip_to_appropriate_slot() is now a /mob - level proc.

equip_to_slot() is an unsafe proc, which just handles the final step of actually getting an item onto the mob. It has no checks of whether it can or can't do that. Use equip_to_slot_if_possible() for that purpose.

New /obj/item -level proc:
/obj/item/proc/mob_can_equip(M as mob, slot, disable_warning = 0)

This proc can be used to determine whehter a mob can pick up an item from the item's side.

Carn, I'll need you to review code/modules/mob/living/carbon/human/inventory.dm to ensure that I'm not redrawing the mob too many times.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4423 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-15 23:15:55 +00:00
sieve32@gmail.com
7bf6788082 -OPTIMIZATION TIME
-Almost every instance of 'for(mob in world)' has been killed. Because GODDAMN was it being run a bunch. Instead, a series of global lists have been made, and they are all handled auto-magically through New()'s, Del()'s, Login()'s, death()'s, etc...

Lists are as follows:
-mob_list : Contains all atom/mobs by ref
-player_list : Like mob_list, but only contains mobs with clients attached
-admin_list : Like player_list, but holds all mobs with clients attached and admin status
-living_mob_list : Contains all mobs that ARE alive, regardless of client status
-dead_mob_list : Contains all mobs that are dead, which comes down to corpses and ghosts
-cable_list : A list containing every obj/structure/cable in existence
Note: There is an object (/obj/item/debuglist) that you can use to check the contents of each of the lists except for cables (Since getting a message saying "a cable," x9001 isn't very helpful)

These lists have been tested as much as I could on my own, and have been mostly implemented. There are still places where they could be used, but for now it's important that the core is working. If this all checks out I would really like to implement it into the MC as well, simply so it doesn't check call Life() on every mob by checking for all the ones in world every damn tick.

Just testing locally I was able to notice improvements with certain aspects, like admin verbs being MUCH more responsive (They checked for every mob in the world every time they were clicked), many sources of needless lag were cut out (Like Adminwho and Who checking every single mob when clicked), and due to the cable_list powernet rebuilding is MUCH more efficient, because instead of checking for every cable in the world every time a powernet was broken (read: A cable was deleted), it runs though the pre-made list, and even with a singulo tearing all the way across the station, the powernet load was VERY small compared to pretty much everything else.

If you want to know how any of this works, check global_lists.dm, there I have it rigorously commented, and it should provide an understanding of what's going on.

Mob related in worlds before this commit: 1262
After: 4
I'm helping


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4179 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-26 03:04:05 +00:00
VivianFoxfoot@gmail.com
4dfe439b1a Adds BS12 dismemberment. Not all features of it are implemented yet, but it should be equal to our previous system.
Adds greater changeling code, but doesn't change the genome count yet on it. 
Renames registered to registered_name on IDs because bs12 had it and it seemed like a good idea to do last night.  For some reason.   
Adds an afterattack to mobs that can be used.  (In fairness, lots of shit in attack_hand should be in there instead, like stungloves and stuff, to minimize duplicated code)

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3537 316c924e-a436-60f5-8080-3fe189b3f50e
2012-05-01 15:33:29 +00:00
baloh.matevz@gmail.com
d1d0fd5e4f - hand tools now fit on your belt slot
- added feedback logging for newscasters
- added feedback logging for admin verbs
- added shuttle timers to escape pods
- added feedback logging to chemical reactions
- clipboard can now fit on your belt

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3465 316c924e-a436-60f5-8080-3fe189b3f50e
2012-04-16 04:00:36 +00:00
kortgstation@gmail.com
c00d699ab6 Added the pirate captain stuff for HG
Changelings can now regen from death
Loyalty implants are now orderable from QM
Repair bot is now adminspawn only
Added the mech ion cannon, which is adminspawn for now
Tweaked highlander a bit
Updated the changelog

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2499 316c924e-a436-60f5-8080-3fe189b3f50e
2011-11-08 00:47:50 +00:00
kortgstation@gmail.com
e49ec9211c Added a claymore (sword)
Re-did the Highlander button.

In place of a traitor PDA, it now strips the player, gives them a kilt/boots/beret/claymore and full access.

Objectives remain as nuke codes+escape alone.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2461 316c924e-a436-60f5-8080-3fe189b3f50e
2011-10-31 10:44:45 +00:00
rastaf.zero@gmail.com
f639ece55d Update for game masters:
-Right click commands "Make robot/alien/ai/monkey" moved to "edit player" screen.
-Right click commands "Make traitor/cultist/changeling/etc" moved to "edit mind" screen.
-- note: currently the only way to humanize monkey is to use "edit mind" screen.
-Added right click commands showing "edit player" and "edit memory" screens.
In light of an incoming tournament on ss13.ru I have added "Select equipment" right click command. It allows to instantly dress mob as you wish. Coders, feel free to add more dress packs, like "centcom inspector", "space pirate" and so on.
A strange command "list_occ" now called "List free slots" and shows unoccupied jobs.
Added golden cup, sprite belongs to Farart.

You can now take a power cell from charger even if there is no power.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1724 316c924e-a436-60f5-8080-3fe189b3f50e
2011-06-25 11:30:05 +00:00
rastaf.zero@gmail.com
39dd425219 Objectives "steal plasma" and "steal AI" now correctly checks contents of backpacks.
Objectives code is made more compact and clear.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@908 316c924e-a436-60f5-8080-3fe189b3f50e
2011-01-23 23:11:02 +00:00
noisomehollow@lycos.com
7c122ab3cb Changelong:
More tweaks to death commandos.
More work on CentCom.
Fixed turret control issue for AI.
Station blueprints now spawn in CE's locker.
Power control modules placed on the map.
More shield generator stuff by Barhandar: shield walls and shield wall generators now respect bullets and they (bullets) have chance to get past the shield. This also means you can power shield generators through emitters but it takes two to make a generator stable.
Misc map changes.
Re-check gimmick closets so they no longer spawn empty.
Added a new admin button under Special Verbs. Allows to easily respawn a player (as an assistant) if their original body was gibbed. Currently doesn't set player preferences. WIP.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@675 316c924e-a436-60f5-8080-3fe189b3f50e
2010-12-20 00:33:10 +00:00
musketstgstation@gmail.com
ef103ccbea Added confirmation to the THERE CAN BE ONLY ONE button and made it coder-level.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@598 316c924e-a436-60f5-8080-3fe189b3f50e
2010-12-12 22:45:42 +00:00
musketstgstation@gmail.com
c9cd0f6c61 Added THERE CAN BE ONLY ONE button for host-level admins.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@591 316c924e-a436-60f5-8080-3fe189b3f50e
2010-12-12 02:48:35 +00:00