Commit Graph

103 Commits

Author SHA1 Message Date
CorruptComputer
058e342e95 Added a cancel button to the PDA 2014-11-27 14:27:00 -06:00
Menshin
ec944abfc6 * limit atmos/fire alerts to the current z_level
* atmos/fire alerts are now linked to an object and not its area, as intended
* simplified and full pathed the radio frequency datum
* made radio objects properly clean on del/qdel, instead of letting the radio controller remove nulls at each post_signal()
2014-11-14 10:10:45 +01:00
tkdrg
a0b61707a4 NTRC (PDA chatrooms) bugfixes
Removed operator, revamped structure, fixed a lot of bugs

Adds myself to admins.txt
2014-11-04 22:47:48 -03:00
hornygranny
8b4ab665cb Merge pull request #5490 from tkdrg/hiasl
Nanotransen Relay Chat
2014-11-03 17:26:53 -08:00
phil235
4803f099f6 Fix lack of sound when non-silent PDA receive message. 2014-11-01 15:32:48 +01:00
tkdrg
7db4f1f9a2 Fixes chat channel bugs, removes PDA authentication because apparently our players are too dumb to not share passwords between ss13 and banking accounts 2014-10-29 23:00:23 -03:00
tkdrg
cc96d09843 Adds NTRC help screen, fixes PDA /join bug that let you join multiple times without updating chat_channel 2014-10-29 20:50:08 -03:00
tkdrg
571a0953b4 Fixes chatroom runtime (thanks Gun Hog!), auto-adds # if the channel does not contain it already, obsoletes /new (its functionality is now included in /join) 2014-10-29 20:17:16 -03:00
tkdrg
ab6ca61e2a Lets AIs and pAIs use the chatroom function in their built-in PDAs. 2014-10-29 19:32:23 -03:00
tkdrg
90d9dddf39 Merge remote-tracking branch 'upstream/master' into hiasl
Conflicts:
	code/modules/client/client procs.dm
2014-10-29 01:27:08 -03:00
tkdrg
3a862deb6b Adds chatroom logging (both admin and IC). 2014-10-29 01:20:53 -03:00
tkdrg
4d79788e24 Removes the <font> from NTRC errors 2014-10-27 11:46:19 -03:00
tkdrg
314617ea6d PDAs now have a Nanotransen Relay Chat client 2014-10-27 11:22:40 -03:00
GunHog
921143c078 ED-209 balance changes and bot tweaks
- ED-209's effective range has been reduced to 7, down from 12, to
prevent them attacking people off-screen.
- Ruthlessly nukes ".src" from the bot files, especially ed209bot.dm and
secbot.dm!
- Summoned bots now report on their department radio when summoned by
PDA.
- Bot radio frequencies now use the helpers instead!
- Officer Pingsky (On the MiniSat) is now set to declare his arrests on
the AI Private frequency, instead of Security.
- The remote_disabled var now prevents bots from being summoned or
controlled via PDA as well removing them from the AI's control panel.
- The AI can no longer re-activate a bot's remote control radio by
hacking it from the interface.
- The telescopic baton is now considered a safe weapon to carry and
wield by security bots.
- Added a small reminder to PDA users that bots can download access from
their ID to reach them.
2014-10-22 10:26:16 -05:00
GunHog
20bd9976b7 Merge remote-tracking branch 'remotes/upstream/master' into Botcall_TG_Edition
Conflicts:
	code/game/machinery/bots/bots.dm
	code/game/machinery/bots/cleanbot.dm
	code/game/machinery/bots/ed209bot.dm
	code/game/machinery/bots/floorbot.dm
	code/game/machinery/bots/medbot.dm
	code/game/machinery/bots/mulebot.dm
	code/game/machinery/bots/secbot.dm
	code/game/objects/items/devices/PDA/cart.dm
2014-10-21 18:06:04 -05:00
phil235
5fadf38aa6 Merge branch 'master' of https://github.com/tgstation/-tg-station into ed209fix
Conflicts:
	code/game/machinery/bots/ed209bot.dm
	code/game/machinery/bots/secbot.dm
2014-10-10 17:12:05 +02:00
phil235
f40edc5ce6 *FIX: the taser that ed209 drops on death looks full but is empty(need an update icon shit)
*FIX: issue4487 (lasersound)

*Fix: repairing bot with weldingtool off. Gives warning msg.

*FIX: medbot fleeing one step when using weldtool/holosword.

*Fix: attacking silicon w/ holosword no longer gives spark.

*FIX: attacking bot w/ holosword is an assault.

*FIX: bots produce spark when damaged via attakby, similar to borgs.

*FIX: attacking ED209 with weldingtool on harm now triggers the bot response to the assault.

*FIX: bots can produce sparks when hit by projectile w/ damage>0. (to have some feedback b/c there's no msg otherwise)

*FIX: ED209 doesn't try to tase monkey despite wanting to arrest.

*FIX: LaserTAG ED209 points at monkey despite not shooting/hunting them.

*FIX: we don't check projectiletype and sound each time we fire. (Now only when using New() or emagging/hacking/emp'ing) (also

simplifying code)

*FIX: cannot access behavior mode to toggle patrol on lasertag ED209 (despite the fact that it should be able to patrol.

*FIX: ED209 tases cuffed target that are standing.

*FIX: ED209 can stun through a closet! And, it can cuff through windows and closet.

*FIX: the handcuffing problem. (issue2025)

*FIX: no message when trying to screwdriver panel of bots open but it's locked.

*FIX: added one audible message instead of for+show

*FIX: make 'detain' mean stun repeatedly. (issuenumber???)

*FIX: After finishing summon order, bot goes patrolling even if no auto_patrol.

*FIX: ED209 cannot be summoned or appear on the PDA securitron interlink cartridge.

FIX: autocustom names for lasertag ed209s doesn't work (if you don't give them a custom name, it gives them a custom one from a

list)

Removing maxstuns var in process() proc of both ED and beepsky. It doesn't do shit.
Lasertag ED no longer calls look_for_perp(), the loss in reaction speed is minimal. And it no longer calls for infraction
Adding myself as game master admin list.
2014-10-10 16:34:26 +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
GunHog
589c1f4cbb Botcall, TG edition! 2014-09-25 09:44:41 -05:00
phil235
87d7c9e91e Create the audible_message() proc to replace most instance of " for(var/mob/M in hearers(...) show_message(..., 2)"
fixing typos and missing emotes in emote lists.
2014-09-14 01:15:15 +02:00
Cheridan
866dbb7959 Merge pull request #4634 from Carn/timSort
TimSort for byond
2014-09-07 19:52:02 -05:00
Miauw
7c97447d24 Balance changes to the sleepypen. 2014-09-05 18:24:25 +02:00
carnie
05b76b123e TimSort for byond:
RESULTS:
sorting 10 random lists of length 3 to 303 in increments of 3
(Meh, I forgot to refresh this one, there were only 338 trials rather than 1010, can't be bothered to recode the test)
                                    Profile results (total time)
Proc Name                                             Self CPU    Total CPU    Real Time        Calls
-------------------------------------------------    ---------    ---------    ---------    ---------
/proc/sortList                                           0.672       16.141       16.243       171226  <--TG's current mergesort(recursive, hence the higher number of calls)
/proc/sortTim                                            0.008        3.278        3.274          338  <--TimSort
/proc/sortMerge                                          0.011        2.839        2.855          338  <--new mergesort
/proc/sortInsert                                         0.010        2.124        2.103          338  <--binary insertion

Sorting 10 presorted lists with 3 inversions (3 elements shuffled up), Lists of length 3 to 303 (increments of 3)
                                    Profile results (total time)
Proc Name                                             Self CPU    Total CPU    Real Time        Calls
-------------------------------------------------    ---------    ---------    ---------    ---------
/proc/sortList                                           1.290       23.056       23.254       308050	<--rather cataclysmic
/proc/sortMerge                                          0.015        4.077        4.068         1010	<--
/proc/sortInsert                                         2.639        3.472        3.464         1010	<--
/proc/sortTim                                            0.014        1.567        1.576         1010	<--TimSort is faaar more effective in these cases,
Timsort can exploit runs effectively

sorting 10 presorted lists which have been reversed
                                    Profile results (total time)
Proc Name                                             Self CPU    Total CPU    Real Time        Calls
-------------------------------------------------    ---------    ---------    ---------    ---------
/proc/sortList                                           1.234       23.193       23.295       308050
/proc/sortMerge                                          0.023        4.681        4.686         1010
/proc/sortInsert                                         2.875        3.750        3.765         1010
/proc/sortTim                                            0.020        3.294        3.284         1010	//This can be lower by using a different comparison method
 *Corrected: /proc/sortTim                                0.017        0.665        0.663         1010	//Using a non-strictly ascending comparison

sorting 10 presorted lists
                                    Profile results (total time)
Proc Name                                             Self CPU    Total CPU    Real Time        Calls
-------------------------------------------------    ---------    ---------    ---------    ---------
/proc/sortList                                           1.199       21.391       21.517       308050
/proc/sortMerge                                          0.018        3.724        3.729         1010
/proc/sortInsert                                         2.497        3.302        3.309         1010
/proc/sortTim                                            0.024        0.586        0.584         1010

Summary, all the new procs are faster than the old ones. TimSort is ever so slightly slower than Insertion and Merging on random lists. But on lists with natural runs (partially sorted data) it is far faster than all others.

The old merge sort was removed and replaced with timSort. Other algorithms are provided as alternatives.

All algorithms use a central datum, so accept many of the same parameters. For instance, setting associative=1 will make them sort associative lists by their associated values, rather than keys.
They also accept a cmp argument. This allows sorting of lists of datums, text, numbers or whatever. The pre-existing helpers in lists.dm were rewritten as examples.
2014-09-01 11:29:49 +01:00
Miauw
78a9b0be69 Merge branch 'master' of https://github.com/tgstation/-tg-station into say()
Conflicts:
	code/__HELPERS/game.dm
	code/game/gamemodes/cult/runes.dm
	code/game/machinery/requests_console.dm
	code/game/machinery/telecomms/logbrowser.dm
	code/game/objects/items/devices/PDA/radio.dm
	code/game/objects/items/devices/aicard.dm
	code/modules/admin/admin_verbs.dm
	code/modules/assembly/holder.dm
	code/modules/assembly/voice.dm
	code/modules/mob/living/carbon/brain/brain.dm
	code/modules/mob/living/carbon/human/whisper.dm
	code/modules/mob/living/carbon/slime/slime.dm
	code/modules/mob/living/say.dm
2014-08-31 13:40:16 +02:00
Firecage
6c7af5eb32 SPANCLASSES!!!!! 2014-08-26 09:52:13 +02:00
Miauw
1fef6effc3 RADIO CODE WORKS NOW HOLY SHIT
(warning, contains tons of debug messages that still need removal)
2014-08-16 20:33:50 +02:00
Firecage
24b18fad93 Absolute paths for item files. 2014-08-07 23:02:43 +02:00
Rockdtben
0e26850893 PDA - Security Records were missing tables.
Fixed a bug where printing would stop working if a record was deleted.
2014-07-12 20:54:47 -05:00
Ben G.
d497387355 Merge pull request #4048 from Kelenius/OfAIAndHUD
Gives the AI a simple hud
2014-07-06 12:58:13 -05:00
Kelenius
e9d2124220 usr -> user 2014-07-06 21:33:05 +04:00
Kelenius
d8ae776f64 Gives the AI a hud 2014-07-03 18:52:11 +04:00
MrPerson
1494b8062f Makes the spare PDA box on the bridge not invisible 2014-06-22 16:21:42 -07:00
Daniel
6c668c7c7b Generalised PDA naming 2014-04-09 18:43:29 +02: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
Rockdtben
6eeeb1e5fe Removed some useless comments from years ago. 2014-03-12 07:59:34 -05: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
YotaXP
6db2c59772 Reduced the potency of carrying multiple light sources. 2014-02-05 16:54:46 -05:00
Cheridan
bb9c09df46 Obsoletes flags = FPRINT | TABLEPASS*
*TABLEPASS was already totally obsolete.
FPRINT was used, but it was on virtually everything anyway.

Removes those flags from every instance where they were used. Also assigned and removed other flags where it made sense.

If it is desired, I can revive the flag as NOFPRINT, which would retain the original functionality, though inverted. That way it would be be used only  where it was intentional (holodeck items could use this for example).
2013-12-30 15:03:17 -06:00
Perakp
2f70aaadb3 Removes magic numbers and an useless check
- it shouldn’t runtime.
2013-12-18 22:31:07 +02:00
Perakp
b54cab665a No slipping when lying down
- No slipping when lying down
- Doesn’t change slipping mechanics otherwise.
2013-12-18 15:03:03 +02:00
Kyrah Abattoir
225a906eda code/game/objects/items/* (root) lowercase pass
code/game/objects/items/devices/* lowercase pass
2013-11-20 19:15:00 +01:00
Giacomand
6b68a7245d * AIs can no longer intercept messages randomly. Instead they can use the Message Monitor by getting their cyborg to get the keypass.
* The Captain's PDA no longer starts off, instead their PDA is detonation proof.
2013-11-15 14:17:53 +00:00
supersayu
799c7ad2ce Replaces atom/HasEntered() with the builtin atom/movable/Crossed()
Crossed() is a byond builtin which is called automatically when two movable atoms overlap (as a side effect of Move(), but not when loc or x/y/z is changed).  Previously, turf/Entered() iterated through all objects in the turf in order to tell them an object had entered; with this change, HasEntered() becomes redundant and can be eliminated.

This may reduce lag when a large number of objects are moving in a small space (singularity, mining conveyors, etc) but should cause no changes to functionality at all.
2013-10-23 16:20:20 -04:00
KazeEspada
da5ff1aca6 Merge branch 'master' of https://github.com/tgstation/-tg-station into computers 2013-09-24 14:07:51 -07:00
Cheridan
87ed1a2e1f Merge pull request #1417 from fleure/janitor
Janitor PDA now locates the cart, removes old bucket locator
2013-09-23 21:17:41 -07:00
Malkevin
8f08a2e13f Updated the proc to allow it function on objects other than the target.
Changed PDAs to use the proc
2013-09-24 00:27:43 +01:00
KazeEspada
38d7374bc2 Makes circuits into type paths. Dna modifiers had a bad string that showed up when converted into a type path. Power monitors are now actually computers. Makes smashing computers red. 2013-09-21 14:41:50 -07:00
Fleure
760589cd35 Janitor PDA now locates the cart, removes old bucket locator 2013-09-21 01:21:13 +01: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
Fleure
cb7b0f9be1 Added empty line between "Update PDA Info" and time 2013-08-30 20:35:16 +01:00