Commit Graph

617 Commits

Author SHA1 Message Date
Ricotez bf58d406a5 Merge pull request #1450 from Incoming5643/wizardspells2
Quickened Spells (ready to merge edition)
2013-09-25 16:01:26 -07:00
Pete Goodfellow 578215e3a7 Merge pull request #1335 from KazeEspada/supplypacks
Fixes issue #137
2013-09-18 07:00:10 -07:00
Cheridan b8438e65bd Merge pull request #1206 from SuperSayu/newclick
Click code rework
2013-09-17 16:23:27 -07:00
Cheridan 12b1de9875 Merge pull request #1357 from AndroidSFV/AIphotography
AI Photography
2013-09-17 15:30:10 -07:00
supersayu 475042a212 Click code rework
Fixes #646, #579, #863

Completely redoes the click code.  Moves all click related code into code/_onclick for reference.  Also moves hud datum code and all the screen object code I could find into code/_onclick/hud, as it is related.  Item attack(), attackby(), afterattack(), and attack_self() have been moved into item_attack.dm for consistency.

Completely removes dummy objects and adds atom.Adjacent(user).  This proc checks for border items and anything marked with throwpass for determining whether or not you can reach a given square.  A turf helper, ClickCross(), was added to facilitate this.

Removes the monolithic Atom.Click() proc in favor of an overridable click handler attached to mobs.  Click code no longer uses the : path operator as a consequence, and mob/lastDblClick has been moved to Client/next_click.  A few end arounds were necessary (screen objects, buildmode, and spells), but this has been handled by repurposing Atom.Click(); if you have special click code, insert it in the object's Click() function and return 1 to prevent normal processing.

This update adds support for attack_ghost(); the previous "new" click handler had support for it but was never finished.  I have taken the liberty of letting ghosts click portals, the gateway, and the teleporter to jump to the intended target square, and kept the previous default action of examine()ing every damn thing you click.  It is to be suggested that you could do more with this proc when ghost interactions are enabled.

This update also adds support for double clicking.  It is currently only used for ghosts and AIs, because the original (first) click still registers normally.  For both of these, double clicking a square will jump you to it, and double clicking a mob will follow it.  In the case of ghosts, double clicking bots and the singularity will also set you following it; if you double click your own corpse, you will re-enter it; this also works if your body is in a closet, sleeper, DNA scanner, etc.  Default mobs ignore double clicks as normal.

-- NOTE --

There are two flags which were previously unused or misused by click code: USEDELAY and NODELAY.  Ostensibly, USEDELAY would double the normal 1sec delay, and NODELAY would remove it.

Using either of these flags as intended would significantly affect the timing of the game.  In particular, USEDELAY is currently applied to guns and about everything else that acts at range.  I am adding USEDELAY as a half-second increase for now, but I have not put a significant amount of thought into it.  I considered lowering the normal 1sec delay to .8sec to balance it, but the consequences of that on combat involve more calculations than I care to make.

NODELAY seems to never have been used, and I did not implement it, but I could do so trivially.
2013-09-17 18:15:54 -04:00
Cheridan 8df9aab80d Merge pull request #1383 from Incoming5643/sliming
Standardized Transformation Hotfix Because ismob() Sucks
2013-09-16 16:13:05 -07:00
Incoming5643 f7af62d0ad Wait, no, NOW everything is wonderful, ignore that last commit. 2013-09-16 00:07:34 -04:00
Incoming5643 ff07c68577 Changes ismob to istype, everything is wonderful again 2013-09-15 23:58:34 -04:00
Incoming 1788bf9533 Gingerly nerfs the cooldown reduction on flesh to stone and magic missile 2013-09-15 23:13:26 -04:00
Incoming5643 a7676594e2 ismob is a shit and broke everything, fixing it 2013-09-15 22:17:32 -04:00
Aranclanos 640ebef2a0 Merge pull request #1341 from Incoming5643/sliming
Transformation Diseases Standardization/Black Slime Extract Changes
2013-09-15 02:53:54 -07:00
Incoming 6cf018d5a2 Reworked the equation so that you gain a constant cooldown reduction per rank
Additionally all spells can now use all 5 spell points now (though the functionality to have spells that don't follow this rule is still there).
The new variable "cooldown_min" defines (in deciseconds) what the cooldown should be if all 5 spell points are used on it.
For example if you had a 100 charge_max and a 60 cooldown_min, every rank used on that spell would reduce charge_max by 10
Specifics of how the cooldown is affected for each spell has been commented in
2013-09-14 17:50:34 -04:00
Incoming e6af82a2e5 Extra charges can now be used to reduce the cool down of a wizard's spells. This effect can stack to different levels depending on the spell. 2013-09-13 17:54:13 -04:00
AndroidSFV a36fdb8628 Moves some datacore code into datacore.dm from other .dm's 2013-09-12 22:55:53 -05:00
Incoming b9586d621c Merge branch 'master' of https://github.com/tgstation/-tg-station into sliming
Conflicts:
	code/datums/diseases/robotic_transformation.dm
	code/datums/diseases/xeno_transformation.dm
	code/modules/reagents/Chemistry-Reagents.dm
2013-09-12 19:59:53 -04:00
Incoming 839591f6eb only to delete them again in a flurry of destruction! 2013-09-12 18:59:31 -04:00
Incoming ff088cfb91 Restoring more up to date versions of robotic_transformation.dm and xeno_transformation.dm 2013-09-12 18:58:21 -04:00
Incoming 8191b7a793 Added a strategic ismob so that if for some reason new_mob is something that isn't a mob it doesn't runtime.
BADMIN'S NOTE: This means you can var edit a tranformation virus' new_form to change what an infectee will turn into pretty much anything. Turning into something that isn't a mob will ghostize the player obviously.
2013-09-12 11:13:06 -04:00
Incoming 1e68ae1a1b runtime fix: pick() from empty list 2013-09-11 23:14:42 -04:00
Incoming 222d359c66 Standardized transformation diseases 2013-09-11 22:49:09 -04:00
Incoming eb79461e92 Black slime extract now inflicts a disease that turns the victim into a slime after a short while instead of immediately turning them through the chem itself. This gives people a chance to call out over radio about what happened if they were the victim of a drive-by sliming. Likewise it gives them a faint hope of reversing the process with the cure, frost oil (in the code frost oil is hilariously toxic to slimes). Source of frost oil are botany and (irony) xenobio. The disease is fast spreading, and infected are likely to only have 30 seconds to a minute to find frost oil, but it's highly effective once taken.
On the plus side for xenobiologists this allows for them to place black slime extract in things (medibots, food) without it becoming immediately apparent to victims what's been sabotaged.

This disease cannot be spread in any fashion besides black slime extract. (Because that would be so hideously broken if it was transmittable)

The flavor texts for the stages are an allusion to nethack, where the process of getting slimed is much the same (http://nethack.wikia.com/wiki/Sliming)

One other feature of note: mutant slime people retain the old black slime extract behavior, getting slimed almost immediately after exposure. This means that you can replicate pre-pull black extract by creating a mixture of equal parts black and green extract.
2013-09-10 19:12:18 -04:00
KazeEspada 6f14428225 Merge branch 'master' of https://github.com/tgstation/-tg-station into Supplypacks 2013-09-10 11:06:38 -07:00
KazeEspada 2a1278ca88 Makes Supply Pack datums no longer garbage collect. Prevents them from making artifacts like mulebot #3. Fixes issue #137.
Moves the supply shuttle controller to the controller folder and adds its creation to the new proc of the master controller.
Also, makes the supply shuttle make supply packs on new instead process.
2013-09-10 11:00:43 -07:00
Malkevin 84616d69aa Cargo Bay: Exile Implants
I forgot to add these the first time around.
2013-09-10 18:22:51 +01:00
Cheridan 7d117587ad Revert "Merge pull request #689 from dumpdavidson/changeling_voices_squash"
This reverts commit 6206285633, reversing
changes made to 83a6ebfc95.
2013-09-06 22:00:11 -05:00
Ricotez 6206285633 Merge pull request #689 from dumpdavidson/changeling_voices_squash
Changeling personal hivemind
2013-09-06 15:36:41 -07:00
ACCount12 9c5b82efbf Update xeno_transformation.dm
xenomicrobes fixed
2013-09-04 20:21:09 -07:00
ACCount12 3b46cfd140 Update robotic_transformation.dm
roburgers fixed
2013-09-04 20:21:04 -07:00
VistaPOWA 761731c27a Merge git://github.com/tgstation/-tg-station into critter_crates
Conflicts:
	icons/obj/storage.dmi
2013-09-02 13:18:15 +02:00
VistaPOWA 44af517785 Pugs uncommented in supplypacks 2013-08-29 22:51:49 +02:00
Intigracy 0962cd2679 Start of standardizing required permissions for admins.
Using the dropdown menu / changing health / names of people in view variables now actually requires +VAREDIT.

Shuttle moving moved from +FUN to +ADMIN for convenience sake.

+ADMIN now required to view antagonists / law changes, before it was only required to check antags via verbs, which you could get around through the secrets menu.

+ADMIN Also now required to view all of the special information given about players in who menu (like antagonist status), but all admins can still see stealth keyed admins.
2013-08-28 15:51:45 -07:00
VistaPOWA 7393c4217d Adds critter crates
Fixed several conflicts present in last pull request, should be fine
now.

All animals ordered through cargo will arrive in critter crates. These
crates are designed for the safe transport of animals. Critter crates
can only be unlocked from the outside and automatically lock when
closed. You can resist your way out of the crates. Critter crates are
counted as normal crates when sent back to CentComm.

Adds cat crate (cost: 40 points).

Corgi crate now has a 50-50% chance of either containing a male or
female corgi.
Moves critter crate sprites from storage.dmi to closet.dmi.

Removes redundant large animal crates.
2013-08-27 22:25:42 +02:00
Cael Aislinn 2f698f5c7c Merge pull request #1197 from Cheridan/Admin
Admin Log Tweaks
2013-08-23 07:20:45 -07:00
Cael Aislinn 6661ce81b9 Merge pull request #1205 from dumpdavidson/emp_overhaul
EMP-kit
2013-08-23 06:57:51 -07:00
Cheridan cc1e3d2b6d Merge pull request #1178 from caelaislinn/pugs
Adds pugs, makes pugs orderable via cargo
2013-08-22 22:52:48 -07:00
dumpdavidson 4deebff554 Merge branch 'master' of https://github.com/tgstation/-tg-station into changeling_voices_squash
Conflicts:
	code/game/gamemodes/changeling/changeling.dm
	code/game/gamemodes/changeling/changeling_powers.dm
	code/game/gamemodes/changeling/modularchangling.dm
2013-08-21 23:21:26 +02:00
dumpdavidson 5b6c126a1a Adds EMP implant.
Replaced the EMP grenades from the uplink with an EMP kit.
The kit contains a grenade, an implant and a flashlight with 5 uses that can EMP any object or mob in melee range.
2013-08-21 21:48:37 +02:00
Cheridan be4625fce6 Admin Log Tweaks
-Wire cut logs are now accessed via the Investigate verb, instead of popping up in the admin chat log.
-Wizard Fireball explosions no longer create admin chat log messages either.

-Adding and removing Player Notes is now logged.
-The note that is added automatically to people who get banned, now displays the duration of ban.
2013-08-20 21:51:39 -05:00
Cael Aislinn 2a451e7a75 Merge pull request #1167 from Giacomand/stampcham
Chameleon Stamp
2013-08-19 02:51:58 -07:00
Cael_Aislinn 194a98736f makes pugs orderable via cargo bay
Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
2013-08-17 10:13:08 +10:00
Giacomand 1a19dd6142 Merge pull request #1114 from Carn/data_records
Helper proc /proc/find_record(field, value, list/L)
2013-08-14 16:35:04 -07:00
Giacomand efd5fc56c4 * Added a new uplink item, the chameleon stamp can be activated to turn into a different stamp; to use for forging documents or for forging clothing. 2013-08-14 20:37:45 +01:00
Cheridan 92286e56b6 Merge pull request #1100 from Malkevin/Cargo_PhaseOne
Cargo Overhaul: Phase 1
2013-08-12 22:02:28 -07:00
Malkevin 20d1407f6f Cleaned and organised supplypacks.dm 2013-08-11 20:45:45 +01:00
carnie ffa9bb51cd Helper proc /proc/find_record(field, value, list/L)
It will search list/L for a /datum/data/record with fields[field] == value, and return it.

This removes a vast amount of copypasta (there's still so much left in there though). It also removes all the locate(\ref[record]) I could find, which were normal used with topic(), meaning it was susceptible to abuse.

Secbots, ed209s and turrets are now smarter with their record-checks. They now prefer to use our face-name rather than id-name. ICly, this is the bot using facial recognition. This fixes an issue where it'd try to use the name variable which could be in the format "Unknown (as their id name)" when they were disfigured, etc. causing record-lookup to fail.

Additionally, these bots will treat those without a valid record in the security database, to be treated like criminals.
2013-08-11 12:49:55 +01:00
Carnie bd18acdb6a Merge pull request #1097 from Giacomand/beard_typo_fix
Quick typo fix for the beard symptom.
2013-08-10 22:29:33 -07:00
Cheridan 5f2e14cd55 Merge pull request #1094 from Giacomand/cham_cleanup
Chameleon Projector Cleanup
2013-08-10 21:26:32 -07:00
Malkevin b606c59928 Commented out the mineral crates 2013-08-11 01:05:57 +01:00
Malkevin 6873aff136 -Converted Bay's string based category system to a numerical flag system
-Fixed duplicated implant paths - thats what happens when you code until two in the morning

-Adjusted materials costs as follows:
50 Metal Sheets Cost: 10
20 Plasteel Sheets Cost: 30
50 Plasteel Sheets Cost: 50
50 Glass Sheets Cost: 10
50 Cardboard Sheets Cost: 10
25 Wood Planks Cost: 25
50 Wood Planks Cost: 40
30 Sandstone Blocks Cost: 20
10 Silver Ingots Cost: 30
20 Silver Ingots Cost: 45
10 Gold Ingots Cost: 30
20 Gold Ingots Cost: 45
10 Uranium Blocks Cost: 30
20 Uranium Blocks Cost: 45
10 Diamonds Cost: 60
10 Plasma Blocks Cost: 50
2013-08-10 22:21:01 +01:00
Malkevin 9eaf89b3aa Cargo Overhaul: Phase 1
-Ported Bay's cargo computer category system

-Created a box containing six flashes

-Crates have been tweaked significantly. Crates have been reduced to single item types where possible, namely with expensive crates such as weapons and armor. A total of 28 new crates have been added, including chemical and tracking implants, and raw materials can also be bought from cargo for a significant number of points (subject to change)
2013-08-10 02:51:16 +01:00