Commit Graph

118 Commits

Author SHA1 Message Date
tkdrg 799e923eff Merge pull request #15840 from phil235/RobotAttackSelfFix
Cyborgs can no longer activate the object in their active module when incapacitated
2016-03-01 21:14:55 -03:00
phil235 4d2c6b8e24 Cyborgs can no longer activate the object in their active module when incapacitated. They also can't change their sensor mode (sechud, etc...) while incapacitated.
Fixes Wizard apprentice not being able to use soulstones.
2016-02-29 23:09:13 +01:00
phil235 3c8a9274bf Fixes spell action button not being updated correctly regarding zlevel and clothes requirements. The buttons are now always not red in these cases but clicking them give the proper fail message.
Fixes blind AI (lack of power) staying blind if transfered to a mech or a card.
Fixes magboots action button icon not updating when toggling the boots on.
Fixes Area teleport spells not having a cancel button when choosing the destination area.
Fixes spell action button not being removed when the spell is refunded.
Fixes revenant spell action button icons not being updated when the revenant is inhibited by a null rod.
2016-02-29 16:30:54 +01:00
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
Razharas 7929c027fa Merge pull request #13550 from Incoming5643/new_wizard_meta_just_look_for_the_people_who_arent_fucked_up
Apprentice clean up / bugfixes
2015-12-11 22:50:46 +03:00
Incoming 6a64864805 formally defines apprentices as a kind of antag instead of as "traitors".
Wizard events that spare the wizard should now properly spare apprentices too.

Moves renaming as an apprentice to the end of the spawn proc because the input prompt stops various important things (including the sound meant to inform people they got apprentice) from happening until after it's dealt with.

Restores the "+" for positive quality items in RPG loot. The reason this was changed was already fixed, it just was mistakenly never put back.
2015-12-10 12:08:49 -05:00
Incoming c9cb9a1520 whooooooops 2015-12-08 02:42:39 -05:00
Incoming 675bfdc781 Shuffle up and deal 2015-12-08 01:29:10 -05:00
Incoming ebec6f5775 Fixes midround head revs not getting their hud updated to show their new status.
Fixes wizard modes with hud icons not using hud icons
2015-12-08 01:22:22 -05:00
AndrewJacksonThe2nd eaa1d11af4 On stun_nerf: objectives 2015-11-08 21:10:21 -08:00
Tkdrg e2187614fd Merge remote-tracking branch 'upstream/master' into hog-mergeconflicts
Conflicts:
	code/__DEFINES/hud.dm
	code/__HELPERS/game.dm
	code/_onclick/hud/_defines.dm
	code/_onclick/hud/hud.dm
	code/game/gamemodes/antag_spawner.dm
	code/game/gamemodes/game_mode.dm
	code/game/machinery/turrets.dm
	code/modules/client/preferences_toggles.dm
	code/modules/events/alien_infestation.dm
	code/modules/mob/dead/observer/observer.dm
	code/modules/mob/living/carbon/alien/special/alien_embryo.dm
	code/modules/mob/living/simple_animal/revenant/revenant.dm
	icons/mob/back.dmi
	icons/mob/head.dmi
	icons/mob/hud.dmi
	icons/mob/inhands/items_lefthand.dmi
	icons/mob/inhands/items_righthand.dmi
	icons/mob/mob.dmi
	icons/mob/suit.dmi
	icons/obj/clothing/hats.dmi
	icons/obj/items.dmi
	icons/obj/projectiles.dmi
	icons/obj/storage.dmi
2015-11-02 01:06:30 -03:00
Remie Richards b9394257da About a million changes, but largely: Functional (Sort of) Antag Huds, Mind fixes, and Final glue to get the mode working. 2015-10-07 22:11:19 +01:00
Xhuis 713c229935 Spell book refactor 2015-10-05 21:01:44 -04:00
AnturK 0009ad729a fixes wizard not recieving nuke kit 2015-08-29 14:26:58 +02:00
Xhuis 32a1dc860b Adds spell icons! 2015-08-04 11:24:27 -04:00
Xhuis 4cefd114c5 Shadowling update 3 2015-08-03 16:35:42 -04:00
phil235 3a93eeabba Merge branch 'master' of https://github.com/tgstation/-tg-station into DrinkingGlassPourFix
Conflicts:
	code/game/jobs/job/cargo_service.dm
	code/game/jobs/job/civilian.dm
	code/game/jobs/job/job.dm
2015-07-16 14:19:29 +02:00
Firecage 4688c2c969 Fixes proc arguments 2015-07-15 23:52:35 +02:00
phil235 ce101208a9 Fixes Satchel preference not working.
Also some simplification of the equip_backpack() proc.
2015-07-15 17:38:03 +02:00
Incoming 69f8f6575b Antagonists Will No Longer Show Up as MODE in round end reports.
Instances where the game would give special treatment to MODE players will instead check to see if a player's assigned_role (job) matches their special_role (antag status). All antags that start off station (as well as ninjas for some weird reason) were affected.

Fixes #8743
2015-05-25 15:58:32 -04:00
Cheridan bd2a60495a Merge pull request #9367 from Incoming5643/ettuwizards
That damn wizard life check again
2015-05-09 14:01:21 -05:00
Incoming d38bb6ed72 Fixes a bug in wizard mulligans where dead wizards wouldn't trigger mulligans. I've stolen the malf version of the check to be sure it works decently enough (also I tested it, of course I did). 2015-05-06 02:56:07 -04:00
Incoming 23cc8c7db0 All modes now choose their antagonists before they choose jobs. A new mind attached list, restricted_roles, will keep incompatible jobs out of rotation.
Players who would otherwise qualify to play as an implanted job will spawn as the most wanted not implanted job they qualify for if they are an onstation antagonist. If they don't qualify for any job in this way depending on preferences they will either spawn as an assistant or a random job (which also makes sure they don't end up in an incompatible job).

Note this doesn't impact late join antagonists or mulligan antagonists. Roundstart only.
2015-05-05 23:29:03 -04:00
Incoming c4f6d85b44 Any roundtype can now take advantage of continuous/non-continuous settings as well as the mulligan antag system. (as a reminder at this point the mulligan system only creates lings and/or traitors)
A generic check for antags now exists in check_finished, and overrides a lot of checks in specific modes. Specific checks are still needed if you have special means of determining antag viability (blob cores), or things to do when specific antags die (summon events).

In situations where mulligans are on but fail, the round will usually lurch on as "extended" but in wizard/malf/blob/ragin mages the round will end then and there. This mirrors current behavior.

Config settings are fully customizable and for the most part defaults mirror existing behaviors:

Revolution, Shadowling, Gang, Ragin Mages and Monkey are noncontinuous and will end with the death of all antagonists.

* There is a change here in shadowling in that rounds with living thralls but no living shadowlings will continue until the thralls are delt with, as they can still raise their dead master.

* Abductors not ending with the death of all ayyliens if there are still probe victims around is likewise a change. If the dev of abduction would rather have it default the other way, we can do that.

* Monkey being noncontinuous is a change, but given how monkey mode works, it really only makes sense.

All modes that are continous use the mulligan system by default, remember that this will only come into effect if EVERY antagonist dies, so modes with many antagonists are very likely to only mulligan extremely rarely because if even one isn't slaughtered and is instead brigged or otherwise neutralized nonfatally the mulligan will never come. A nice little bonus for security not to kill everyone!

Fixes a bug where shuttle stranding could occur in continous rev modes (not something on by default)

Probably buggy as hell in initial commit. Please no quick merge
2015-04-24 15:40:42 -04:00
Incoming f04d3a70d8 I thought mind.current was a safe thing to call without a check for its existence.
I thought wrong.

DEAD WRONG.

W2B - Round Code Standardization
2015-04-18 20:40:13 -04:00
Incoming 1ce1b5b67d Fixes a few unreported logic goofs in my newest mulligan pull 2015-04-11 03:41:17 -04:00
Incoming d1892cffbe Organizes the various continuous_round_x config options into one set of config options continuous. Functionality is only there for the same mode that already had that functionality, everything else is continuous always
Makes another set of config options for which rounds types, if any, use the midround antagonist (mulligan) system. Keep in mind this is by definition a subset of round with continuous set. Again this feature is only present for the roundtypes where I KNOW it works properly, other modes can't use midround antags.

The check antagonist screen will show how the game will behave when all the antagonists die, and it can be changed on the fly by admins, the four possible states are:

End on antagonist death (noncontinuous rounds)
Continue if antagonists die (unsupported continuous by default round)
Continue if antagonists die, creating replacement antagonists (continuous, using midround antags)
Continue if antagonists die, not creating new antagonists (continuous, not using midround antags)

When rounds prepare to mulligan admins will additionally get the option to just keep the round going without any automatically created antags in case they want to run their own shinanagans instead. They can also as before choose to end the round.
2015-04-09 16:03:11 -04:00
Incoming c474035261 *Retires Departmental Uprising to the land of admin only access like its brother fake explosion before it *Changes the mechanics of recasting summon events to only reduce the upper limit of the time between event casts (-1 minute each additional cast) as opposed to touching the lower limit as well, which led to events every 15/30 seconds which, while certainly a scene, I admit was a bit much. Casting summon events 5, 6, or 7 times will now at worst result in an event every minute.
*If a wizard round mulligans, summon events will turn off if it was used. Remember that in wizard mulligans any apprentices will need to be dead too.
2015-03-20 21:04:33 -04:00
phil235 29609457f5 Makes the message when you're attacked slightly bigger for better visibility."
Changes two "for... show_message()" into "visible_message()".
2015-03-12 23:15:54 +01:00
Razharas a07f6e6bfa Merge pull request #8103 from Ikarrus/antag_babbies
Age Restrictions for Antagonists
2015-03-03 09:02:52 +03:00
Ikarrus f95ca85ed6 Age Restrictions for Antagonists
Default minimum age is 7 days.
Team Antag modes and wizard is 14 days.
Malf minimum is 30 days (Same as AI minimum age).
2015-03-01 20:40:04 -07:00
Incoming 79edc1ff88 Replaces the custom "how many people are dead?" check with the one used for survival rates on round end statitistics because, lets be honest here, we know that one works.
Shuffles some flags around that should hopefully prevent round_converted() from running more than once. It's not a huge crisis if it does because late join antag is self capping, but still, not intended behavoir!
2015-03-01 12:13:55 -05:00
Incoming 24cc205ce5 On primary antagonist rounds (wizard/blob/malfunction) if the config is set for continous rounds the round will convert on the fly to a new mode choosen from these mode if the primary antagonist dies:
EXTENDED
TRAITOR
CHANGELING
DOUBLE AGENTS
TRAITORLING

based on the game probabilities set through the config.

The round will not convert if more than 30% of the players are dead (round immediatly ends) or if the shuttle is beyond the point of no return (the round ends normally).

Adds the CONTINIOUS_ROUND_BLOB config
2015-02-22 21:32:17 -05:00
Iamgoofball 9a1036d43b Fixes #6991 2015-02-03 20:26:58 -08:00
Incoming 071e2aee3c fixes conflicts
swaps appretice and wizard icons
2015-01-16 13:45:36 -05:00
Incoming 6f0a50381c Adds an antag hud system for wizards.
The huds won't be activated when there's just one wizard, but when another magic user is brought in the huds will appear for both of them to allow for easy identification in the face of rampant mindswaps and/or identity shinanagans and/or getting turned into a cow by a staff of change.

The huds are on by default in ragin' mages.
2015-01-13 00:14:05 -05:00
hornygranny d1d6b761e8 Update wizard.dm 2015-01-08 01:24:21 -08:00
Remie Richards be6c8c54d1 Reverts Antag selection happening before job selection 2014-10-09 22:57:19 +01:00
Remie Richards 7c96b0aa95 Merge branch 'master' of https://github.com/tgstation/-tg-station into TraitorBeforeJobs
Conflicts:
	code/datums/mind.dm
	code/game/jobs/job_controller.dm
2014-09-17 23:11:39 +01:00
Aranclanos bfd9ce393e Removes two unused vars of the gamemode datums, uplink_welcome and uplink_uses.
uplink_welcome was actually used as a greeting text from uplinks, now they'll always show "Syndicate Uplink Console:". The removed strings weren't nothing important, actually, with the addition of the uplinks in cargo, you were able to metagame the ongoing gamemode.
2014-09-11 06:06:59 -03:00
Firecage 6c7af5eb32 SPANCLASSES!!!!! 2014-08-26 09:52:13 +02:00
Robson Richards e704c9738e Reworks Gamemode/Job interaction a bit 2014-08-20 18:25:53 +01:00
AndroidSFV 629d3a3edc Moved intercept to the parent post_setup 2014-07-29 14:56:48 -05:00
Aranclanos b544a945a9 Fixes issue #2489
Fixes issue #119

Transferred all the different colours of under clothes and shoes to obj/item/clothing/under/colour/XXX and obj/item/clothing/shoes/sneakers/XXX
Added two extra options to the spawn menu of the game panel, clothing and food.
2014-05-01 06:01:14 -03: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
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
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
Incoming 1275e8bff8 A change to how "continuous_round_wiz" works
Currently, if the config option for continuous wizard rounds is off the round will end immediately following the death of the wizard.

With this change after the death of the wizard the game will additionally check to see if the wizard has made any antagonists that are still alive to do things after his death. The round won't end unless these antags don't exist or have all already died as well.

This allows for summon guns/magics survivors to not get blueballed out of antag round because the wizard died quickly. Additionally this allows wizards who made apprentices the chance for them to get the wizard alive again (the new healing apprentice has a staff that can raise the dead who is uniquely suited to this task.) Additionally additionally this allows for a mindswap wizard to not get instantly meta'd out when the round doesn't end when the wizard's head is caved it WITHOUT forcing extended on people.

This change was originally part of the Magic Mania pull, but was removed and placed in its own PR on request.
2013-12-15 02:07:28 -05:00