Commit Graph

405 Commits

Author SHA1 Message Date
ikarrus
79629fad0c Sets frequency of spec ops officer radios to 144.1 so they can communicate with deathsquads, who are also set to that frequency.
Mostly for my own conveneience.
2013-11-21 20:13:42 -07:00
Rockdtben
6bdb91a042 The admin tool "List Free Slots" popups now instead of flooding the chat window. 2013-11-07 08:43:19 -06:00
sirbayer
c6c1dbd363 Merge branch 'master' of https://github.com/tgstation/-tg-station into srsbsns-improvedprojectiles 2013-11-01 20:32:04 -07:00
sirbayer
19e51caef0 Modification of .gitignore to include admins.txt. Hopefully.`
Added myself to admins.txt for testing.

Merge branch 'srsbsns'

Fucking finally figuring out how to make admins.txt be ignored.

Merge branch 'master' of https://github.com/tgstation/-tg-station

Conflicts:
	config/admins.txt

stuff

Merge branch 'master' of https://github.com/tgstation/-tg-station

Merge branch 'master' of https://github.com/tgstation/-tg-station

Conflicts:
	config/admins.txt

Merge branch 'master' of https://github.com/tgstation/-tg-station

Conflicts:
	config/admins.txt

Merge branch 'master' of https://github.com/tgstation/-tg-station

Conflicts:
	config/admins.txt

Merge branch 'master' of https://github.com/tgstation/-tg-station

Merge branch 'master' of https://github.com/tgstation/-tg-station

Merge branch 'master' of https://github.com/tgstation/-tg-station

latest setting for tgstation.dme

deeply do I loathe these files

Merge branch 'master' of https://github.com/tgstation/-tg-station

Conflicts:
	config/admins.txt

God I hate gitignore

Merge branch 'master' of https://github.com/tgstation/-tg-station

Modification of .gitignore to include admins.txt. Hopefully.`

Added myself to admins.txt for testing.

Merge branch 'srsbsns'

Fucking finally figuring out how to make admins.txt be ignored.

Merge branch 'master' of https://github.com/tgstation/-tg-station

Conflicts:
	config/admins.txt

stuff

Merge branch 'master' of https://github.com/tgstation/-tg-station

Merge branch 'master' of https://github.com/tgstation/-tg-station

Conflicts:
	config/admins.txt

Merge branch 'master' of https://github.com/tgstation/-tg-station

Conflicts:
	config/admins.txt

Merge branch 'master' of https://github.com/tgstation/-tg-station

Conflicts:
	config/admins.txt

Merge branch 'master' of https://github.com/tgstation/-tg-station

Merge branch 'master' of https://github.com/tgstation/-tg-station

Merge branch 'master' of https://github.com/tgstation/-tg-station

latest setting for tgstation.dme

deeply do I loathe these files

Merge branch 'master' of https://github.com/tgstation/-tg-station

Conflicts:
	config/admins.txt

God I hate gitignore

Merge branch 'master' of https://github.com/tgstation/-tg-station

Modification of .gitignore to include admins.txt. Hopefully.`

Added myself to admins.txt for testing.

Merge branch 'srsbsns'

Fucking finally figuring out how to make admins.txt be ignored.

Merge branch 'master' of https://github.com/tgstation/-tg-station

Conflicts:
	config/admins.txt

stuff

Merge branch 'master' of https://github.com/tgstation/-tg-station

Merge branch 'master' of https://github.com/tgstation/-tg-station

Conflicts:
	config/admins.txt

Merge branch 'master' of https://github.com/tgstation/-tg-station

Conflicts:
	config/admins.txt

Merge branch 'master' of https://github.com/tgstation/-tg-station

Conflicts:
	config/admins.txt

Merge branch 'master' of https://github.com/tgstation/-tg-station

Merge branch 'master' of https://github.com/tgstation/-tg-station

Merge branch 'master' of https://github.com/tgstation/-tg-station

latest setting for tgstation.dme

deeply do I loathe these files

Merge branch 'master' of https://github.com/tgstation/-tg-station

Conflicts:
	config/admins.txt

God I hate gitignore

Merge branch 'master' of https://github.com/tgstation/-tg-station

Merge remote-tracking branch 'remotes/origin/srsbsns-improvedprojectiles' into srsbsns-improvedprojectiles

Conflicts:
	config/admins.txt
	data/investigate/singulo.html

I don't what I'm doing

Massive overhaul to automatic gun functionality, intended primarily to
allow partially-filled magazines to be released.

Now it compiles and doesn't throw runtimes! Also chambering rounds works
right! Unfortunately the contents still need to be looked at, the Russian
Revolver isn't working, and the Bartender's shotgun is just a nightmare.
Also you still can't eject mags.

Mags eject, most gun work. Shotguns still have a problem with reloading
and chambering. Russian Revolver is a bitch.

Heavy finalizing touches. Fixed references to changed trees. Added
icon_states for some magazines. Fixed revolver glitches and subtyped
double-barreled shotguns to revolvers to fix its glitches. Made bullets
and spent shells more obvious via graphical changes. Probably did some
other things but I can't think of what they'd be.

Sprite tweaks for final preparations for pull request.

final FINAL finalizations.

Adding full paths to overwritten procs for simplicity's sake.

Fixing damaged .gitignore and config/admins.txt.

Finalization for pull preparation. Clean up some descs, eliminate data folder.
2013-10-30 17:56:00 -07:00
Giacomand
84248eb6ab Made containment fields shock you when you walk into them, not when you walk near them.
Field generators, that are active, will now shock you; they did before but it was because of the containment field near it.
Changed the type path of the field generator and containment field:

/obj/machinery/field_generator -> /obj/machinery/field/generator
/obj/machinery/containment_field -> /obj/machinery/field/containment

Changed the map to have the new type paths.
The containment field will now shock you when it is created.
The containment field layer is a little above objects, so objects going through are under the field icon.
Cleaned up a bit of the code.
2013-10-25 15:01:04 +01:00
Cheridan
7506a19073 Nuke Op Gloves: The Blackening
-Removes the yellow gloves on the Nuke Ops shuttle. (They were completely redundant, as the gloves they start with were already insulated (!!!)).
-In return, adds a laundry room to the nuke ops staging area, allowing them to paint their gloves as they please if they want to be stealthy.
-Removes 'SWAT' gloves in favor of the less-weirdly-specific combat gloves. Codewise, they were exactly the same.

Updates spacebattle.dmm, as it had an instance of swat gloves.
Adds a link in the mapmerge tool instructions to assist in setup.
2013-10-20 23:09:22 -05:00
Ergovisavi
470341ecfd Made explosion arguements more readable for the ones with flame_range added to them
flame_range explosions no longer call fire_act() on mobs in the range, but instead spawn a hotspot on them.
2013-10-11 20:07:53 -07:00
Ergovisavi
7fd1465e17 Adds a new arg to explosion(), flame_range, for fiery explosions! Any mob in that range will be set on fire! Also creates some hotspots (mostly for ambience, won't generate them on existing space tiles) and changes the spawn explosion in the VV tab to let admins make fiery explosions.
Adds a cap for flame_range in global.dm
Added a flame_range for syndibombs, syndieminibombs, Wizard's fireball, fuel tank explosions, and meteors.

Adds firesuit level temperature protection to the wizard hardsuit for safety from your own fireballs setting you ablaze
Adds ExtinguishMob() for Ethereal Jaunt to make wizards a little less vulnerable to fire
2013-10-10 18:46:47 -07:00
supersayu
a993ce62db Bugfixen and minor changes. Fixes #136.
Adjusts the click code to not use client/Click().  The code is largely unchanged, except that it allows the compiler default behaviour of calling atom/Click(), and then forwards the call to mob/ClickOn().  I had some reports that melee combat mixed with movement was behaving oddly, and I believe it may be due to the use of client/Click; the byond documentation says that redefining client/Click() causes additional overhead, and it isn't strictly necessary.

Alters the way double clicks are handled, in an attempt to better handle clickspam, as often occurs during pitched combat.  This may also be responsible for the above, but I don't know.

Inserts proximity (aka flag) checks in all afterattack() procs.  The old assumption was that unless an item used the USEDELAY flag, afterattack() was only called when adjacent, but this is no longer true.  This led to beakers, soap, crayons, etc, all being usable at all ranges.

Removes the NODELAY flag, which was unused.  Removes all existing uses of the USEDELAY flag so that it can be readded to things that need extra delay.

Removes the hand_* procs, previously used by restrained actions.  Instead, the mob helper mob/RestrainedClickOn() has abosrbed basically all the functionality they were used for, which is really only monkeys with jungle fever.

Adds a special case of the Adjacency() proc for doors.  This fixes #136, airlocks being unreachable due to border fire doors.  However, this only takes us back to the unpleasant position where you have to open-hand the door, switch to a crowbar, and pry open the firedoor; it still needs a better fix.
2013-09-17 18:19:14 -04: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
KazeEspada
53424fc84f Adds a new admin verb in the debug category called Silence Sounds. It can be used to stop all sounds currently playing. Useful if you need to diagnose if the sounds are the cause of lag, or if you play two sounds on top of each other. 2013-09-05 19:40:40 -07:00
Cheridan
bfeef72660 Merge pull request #1102 from Aranclanos/Linda
Linda.
2013-08-18 15:27:23 -07:00
Cheridan
4301afbc14 Merge pull request #1152 from Giacomand/removeprison
Removed unused prison shuttle code.
2013-08-14 22:08:48 -07: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
d669aca5b6 * Removed unused prison shuttle code.
* Fixed an implant/prison computer runtime. Fixes Issue #1150.
2013-08-12 13:23:26 +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
48cdc61bcf Merge pull request #1095 from Giacomand/ion_fix
Ion Law Announcement Fix
2013-08-10 23:35:12 -07:00
Aranclanos
0ce01d1583 Adding Linda. 2013-08-10 06:15:14 -03:00
Giacomand
8d1e51dfda * Fixes the ion law verbs announcing twice or announcing when you didn't want it to.
* Cleaned up some code with it.
 * Small tweak to the job preference window size.
2013-08-09 01:45:14 +01:00
Giacomand
ef5f2f4b1d Merge pull request #1077 from Carn/misc
Misc
2013-08-08 11:37:38 -07:00
Giacomand
13d76e6da2 * Added a debug verb for counting non-turf instances during rounds.
* Added a category to the kaboom verb.
2013-08-04 21:42:36 +01:00
carnie
02be173c60 Renamed variables:
b_type to blood_type
h_color to hair_color
f_color to facial_hair_color
f_style to facial_hair_style
h_style to hair_style
2013-08-01 13:48:41 +01:00
Cheridan
a77d09131b Merge pull request #1023 from errorage/2013-07-25-adminhelps-to-irc
Admins without +BAN no longer stop adminhelp relaying to IRC.
2013-07-26 14:41:17 -07:00
errorage
23703d19ed Slight edit to the output format, it now writes AFK/TOTAL and IGNORED/TOTAL as an ignored admin might also be afk, so he'd be counted twice. 2013-07-26 23:03:44 +02:00
errorage
68c13044c7 - When determining whether to send an adminhelp to IRC or not, admins without +BAN are treated as 'not being there'. IRC messages now follow the format: "[original_msg] - All admins AFK ([admin_number_afk]) or skipped ([admin_number_ignored])" 2013-07-25 23:24:05 +02:00
supersayu
941631b664 Removes the spacevine-attack code 2013-07-18 23:22:32 -04:00
supersayu
78f5f96fa5 Fix for the grant_full_access that doesn't suck 2013-07-18 23:02:54 -04:00
supersayu
b7c13761ef Fixes a rare potential runtime for using the admin grant_full_access verb on a mob with something other than an ID in the ID slot. 2013-07-17 15:51:19 -04:00
carnie
f15d583a68 Resolves #830 - ghost_form is only selectable by members.
ghost_form is now saved with other preferences.
Public visibility of memberships is toggable and saved with other preferences.
ooc-colors for admins and members are now sanitized. Bright colours like Yellow, white and baby-blue will be darkened for the sake of legibility.
Related to above - added helper procs to convert between RGB and HSL colour models.
Admins cannot modify var/unlock_content without +DEBUG rights. unlock_content moved from client into prefs.

Player savefile version number updated - this will trigger savefile updates, no data should be lost.
2013-06-24 05:35:39 +01:00
Giacomand
58b63f33f2 * Fixed spelling typos. Tratior -> Traitor 2013-06-20 21:29:14 +01:00
Ikarrus
1518d285e7 Standardized spelling of all instances of "Centcom"
Centcomm/CentComm -> Centcom
centcomm -> centcom
2013-06-17 20:49:01 -06:00
Cael Aislinn
1ab959dc4f Merge pull request #562 from Ikarrus/hudicons
Updated Hud Icons with department colors
2013-05-31 23:42:26 -07:00
Cael Aislinn
cd36661610 Merge pull request #644 from Ikarrus/latejoin
Latejoining Antagonists
2013-05-31 23:25:06 -07:00
Cael Aislinn
871b775100 Merge pull request #655 from Carn/HelpersTidy
*Small tidy-up of various helper procs*
2013-05-31 23:24:38 -07:00
d3athrow
8f8ab8ebf0 Added a break to the nested loop after the candidate was chosen, without it every candidate would get chosen regardless. 2013-05-30 23:32:05 -05:00
d3athrow
a2999b86a0 Fixes the Create Antagonist: one click antag Nuke Team. Requires atleast 3 people to click yes with a maximum of 5 agents possible. 2013-05-29 16:26:25 -05:00
Ikarrus
944fa58570 -CentCom officials radios changed to only have the command channel
-Replaced Captain's Headsets on CentCom roles with a centcom reskin, which was already in the code.
2013-05-28 01:21:06 -06:00
Ikarrus
1f74a84608 Merge branch 'master' of https://github.com/tgstation/-tg-station into hudicons 2013-05-28 00:49:12 -06:00
carnie
b84d12d949 *Small tidy-up of various helper procs*
-Turns out there was already a Gaussian PRNG proc already, used by mechs and turrets. I've replaced it with my one as mine has almost half the cost. (currently broken! still waiting for fixes to be pulled!)
-replaced between(min, val, max) with Clamp(val, min, max)
-get_turf(thing) now uses var/list/locs to locate its turf, rather than iterating up through loc of its loc of its loc...etc
-sign(num) moved to maths.dm
-InRange(val, min, max) replaced with IsInRange(val, min, max) (they were identical)
-Removed ismultitool() iswrench() iscoil() iswire() iswelder() iscrowbar() etc
-removed modulus(num) as abs() performs the same task! *roll-eyes*
-removed get_mob_with_client_list() as it is no longer needed (we have var/list/player_list now)
-removed get_turf_or_move() as it simply called get_turf
-removed get_turf_loc() as it was identical to get_turf()

*Additions:*
-The "Declare Ready" link in the lobby will automatically become "Join Game" if the round starts before you declare ready, so you don't have to click it twice
2013-05-27 12:21:43 +01:00
Ikarrus
2dfb0ac9f0 Latejoiners can no longer be antagonists if:
[Number of antagonists] >= [Number of Players Joined] / [Scaling coefficient] + 1
2013-05-26 00:24:45 -06: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
Ikarrus
283c6b4626 -Reduced code duplication
-CentCom roles get appropriate access levels, and centcom officers no longer have all station access (Plays better for inspection events)
2013-05-15 23:00:43 -06:00
Intigracy
1c1b33bd8d Pull Request #548 - vareditting ckey, key, icon, icon_state, overlays, underlays have permission alternatives
Fixed indentation reauthored and rebased ~Carn
Fixed the things carn pointed out. Thanks. ~Intigracy
ckey editing and icon editing changes, added alternate requirements besides +DEBUG. ~Intigracy

Modified   code/modules/admin/verbs/modifyvariables.dm

Signed-off-by: carnie <elly1989@rocketmail.com>
2013-05-12 02:42:52 +01:00
Cael Aislinn
474722d425 Merge pull request #447 from Carn/DNArework
Resolves #283
2013-05-02 05:46:44 -07:00
Pete Goodfellow
9343a93820 Reverting stray changes from my merge of #464 2013-04-30 00:06:30 +01:00
carnie
043028db83 Resolves #283
DNA modification uses normally distributed random numbers. Radiation strength dictates the standard deviation of the change in the hex character which is hit (higher output means greater chance for a large change) . Similarly, radiation duration dictates how likely we are to hit the hex-character we clicked on (longer duration means more likely to hit). Irradiation is strength*duration. All balancing is done via multiplier defines so you can rebalance it easily.

DNA blocks and structuring all use defines. Making modification/expansion easier. I'll likely expand this into a datum-based system to allow more interesting features, reduce code further and allow admins to interact with the way dna strings behave.

DNA strings can be spliced together using merge_text().
 e.g. string 1: "Hello World"
 string 2: "Seeya______"
 result: "Seeya World"
 This isn't used except for admin-spawnable SE injectors at the moment.

r_hair, g_hair, b_hair, r_facial, g_facial, b_facial, r_eyes, g_eyes, b_eyes were removed and made into 3 short hex-colors.

Skin tones now support colours other than shades of brown. I've had to restrict it heavily until other stuff is done. Skin tones include Albino Caucasian, Oriental, Mediterranean, etc.

Data disks and DNA injectors were reworked to use associative lists so transferring data is just a matter of doing list.Copy()

var/dna is now defined at /mob/living/carbon level. Only monkeys and humans may have dna currently. Support is there for all carbon-based lifeforms to have dna.

DNA modifier console has almost all controls on one screen.

UIs and UEs can be injected separately (appearance and name, respectively)

dna helper procs like ready_dna() and such were changed to make them more versatile. There is now a hardset_dna() proc as an alternative to ready_dna which can initialize dna with properties passed into it or update an existing dna string (useful for cloning and antag spawning)

Every block of SEs are in randomised positions.

Disabled automatic logging of world.log, as it produced undesirable behaviour.

Mr Muggles and God Emperor of Mankind disks removed.

Floor() removed. (it was completely uneccesary, that is what round() is).

Fixed spelling mistakes in modularchangling.dm (thanks tenebrosity)

Tanning removed from beaches (again)

Experimental: monkeys and humans do not have dna until first attempt to read dna (using check_dna_integrity(mob))
This is mainly due to the way everything is hardcoded into New().

Changelog.html updated
Signed-off-by: carnie <elly1989@rocketmail.com>
2013-04-24 09:37:30 +01:00
Intigracy
ddd279c11d Edited the admin names in deadsay.dm to match with current admins, currently it's reeeaaallly out of date.
Special thanks to everyone who helped come up with the names!
2013-04-18 22:03:03 -07:00
Cael Aislinn
de4a906c25 Merge pull request #329 from Carn/Issue304
Resolves Issue #304
2013-04-08 00:28:50 -07:00
carnie
6a98fc89d0 >datum/event and datum/event_control were renamed to datum/round_event and datum/round_event_control. This is because datum/event was already used by a different/more-general event queue system (used primarily on mechas)
Removed overriding of event values via feeding in an associative list into datum/round_event/New(). Instead you can do basic initializations (i.e. feed it constants) by doing new /datum/round_event{variablename=5;}(). This method is handled well by the compiler (it's the same method the maps use), so it will detect unrecognized variablenames etc.
More complex initializations for post setup() stuff can be done by accessing variables directly Event.variablename = whatever;
round_events now have a processing variable, which effectively pauses them.
2013-04-08 07:42:46 +01:00
errorage
42ea6ef6b3 Merge branch 'adminbans' of https://github.com/errorage/-tg-station 2013-04-05 16:50:24 +02:00