Commit Graph

104 Commits

Author SHA1 Message Date
AnturK
1cbb8137d9 Moves initialize from /atom/movable to /atom
Bit cleaner powernet/pipes initialization in templates
2016-01-30 14:34:34 +01:00
AnturK
8999db80b4 Fixes shuttles loading improperly in templates
Adds template datum and preloader
2016-01-29 20:51:12 +01:00
MrStonedOne
fd80575f38 Removes a bunch of sleep(-1) and spawn(-1) from the code
This seems to be causing issues where if the queue was too long, byond would attempt to process through all of it while hanging everything else.
2016-01-04 15:17:12 -08:00
phil235
d3ee910211 Makes effect system code more OOP.
obj/effect/effect is now renamed obj/effect/particle_effect for better usability.
datum/effect/system and /datum/effect/effect/system are now both /datum/effect_system.
Fixes a bug where wall mounted igniters (and other spark producing objects) didn't produce sparks sometimes.
Moved explosion_particles.dm into the effect_system folder, because it has effect_systems code.
2015-10-21 23:28:29 +02:00
phil235
df171284cb Slimes now uses buckling to feed and attach themselves on mobs. This removes the silly check in mob/Move(), reducing lag.
Fixes mobs being able to attach slimes onto other mobs.
2015-10-10 20:41:27 +02:00
duncathan
996ef3503b adds current map to roundstart world.log 2015-10-07 22:01:43 -06:00
phil235
34db8dd695 Merge branch 'master' of https://github.com/tgstation/-tg-station into MechRefactoring
Conflicts:
	code/game/mecha/equipment/mecha_equipment.dm
	code/game/mecha/equipment/tools/medical_tools.dm
	code/game/mecha/equipment/tools/tools.dm
	code/game/mecha/equipment/weapons/weapons.dm
	code/game/mecha/mecha.dm
2015-07-16 13:50:01 +02:00
Firecage
4688c2c969 Fixes proc arguments 2015-07-15 23:52:35 +02:00
phil235
ea1780ce97 - Mech equipment was using its unique processing method, with specific timing for each equipment, but now it uses obj processing, I
changed the values so the equipment effect stays the same. Remove global_iterator datum.
- fiddled with equip_ready procs of mech tools.
- removed mecha/proc/do_after and /enter_after() procs.
- Renamed mech sleeper occupant var to "patient" to avoid confusion with the occupant of the mech.
- all non instant tool (drill) now show a progbar when drilling etc..
- action cooldown now use do_after_cooldown() (that itself uses do_after) and start_cooldown (for instantaneous actions).
- Removed mecha_equipment's destroy proc, it's now all in Destroy(). No confusion.
- modified mecha_equipment/proc/can_attach() to not check istype(mecha) b/c it can't not be. (so the child only have one istype check.
- Removed diamonddrill/can_attach() , all done at drill level.
- armor booster now only for combat mech, instead of all except honkmech.
- Removed dynhitby, dynbulletdamage, dynattackby, dynusepower(), dyngetcharge(), dynabsorbdamage()
- I split the tools.dm file into smaller ones: work tools, mining tools, other tools.
- I split mecha.dm into mecha.dm, mecha_topic.dm and mecha_defense.dm
- refactored mech weapon ballistic/launcher, new proj_init proc, more OOP.
- Moving consumes energy! Lights consumes energy. Fixes #9425.
- Fixed #7354 xeno not bursting if host is inside a mech.
- Added action buttons to mech. Moved toggle lights, internal tank, eject, view stats from verbs to action buttons, these can now only

be done via these buttons (removed them from the big stats window).
- Removed port connect verbs b/C it's automated now.
- regular hud is no longer hidden when inside a mech (doesn't matter b/c you can't interact with most stuff in it while in a mecha). Fixes issue 10387
- can't walk when shooting projectiles. Makes walking on your projectile a bit harder. Helps against issue 10315 (but doesn't fix it).
- also made into action buttons: the special abilities of certain combat mechs.
- Added thrown alerts for mech charge and integrity.
- Fixes teleporting occupant out not properly removing it from the mech. Fixes issue 10330
- fixes ballistic mech weapons spinning when launched. proc/throw_at() now has a spin argument instead of using var/allow_spin that was added to all atoms just for that.
- added a update_action_buttons() to ai/life() to handle ai mech.
2015-07-07 19:40:32 +02:00
phil235
cd3f4057a6 Fixes handtele teleportation failing when the beacon is inside something. 2015-06-15 00:39:36 +02:00
Incoming5643
a4ffa349f6 Removes a repeated line on protecting assistants from traitor roles
look at me, I'm so confident I'm using the web interface
2015-06-07 00:13:01 -04:00
Incoming
cbd1c9a788 Fixes show_game_type_odds
It had been accidentally gutted way back in #4215 so I've brought it back properly and better than ever.
2015-06-06 23:20:20 -04:00
Firecage
f79e0fc1aa Updates more paths, for example obj/stuff to /obj/stuff 2015-05-31 17:48:33 +02:00
Incoming
88260a638a Adds enforce continuous rounds and allow midround antagonist reporting to get revision. It won't tell you which modes have them on from there (because it's player accessible) but will show how many roundtypes are currently set to use the features.
Standard config options would currnetly read:
Enforce Continuous Rounds: 10 of 18 roundtypes
Allow Midround Antagonists: 8 of 18 roundtypes
2015-04-30 12:14:41 -04:00
AnturK
6fa8e5f02d Adds Abduction Mode 2015-04-13 18:40:15 +02:00
Iamgoofball
c06ad7e6b8 moved process() to datum. made /datum/reagents/ process instead of the containers. 2015-04-07 17:13:59 -07:00
Remie Richards
17654037db Ports Mloc's Refactor of buckling, All /obj can now buckle things. HE Pipes now change colour based on heat. 2015-01-14 19:07:18 +00:00
Wild Bill
66d36f74d2 Reserve PascalCase inits 2014-12-16 12:29:04 +02:00
hornygranny
2ce3c1b635 Merge pull request #5397 from Jordie0608/nowweneedassistantsanctuaries
Adds assistant antag config to show server rev
2014-10-22 10:55:52 -07:00
Jordie
b1a1732b07 Adds assistant antag config to show server rev 2014-10-21 20:04:51 +11:00
paprka
c0425bc06e initial commit of assistant antag option 2014-10-13 17:21:02 -07:00
Cheridan
08be1b34eb Revert "Changes a few green crosses to blue on sprites that I missed last time" 2014-10-04 19:22:10 -05:00
ikarrus
33467c8a06 clarification in comments 2014-09-05 22:58:58 -06:00
ikarrus
bae6578055 Config Option to Bar Lizards from Authority Roles
aka formalizing Human Supremacy

- Adds a config option ENFORCE_HUMAN_AUTHORITY which prevents lizard players from joining Command and Security roles

[Lizard subjugation intensifies]
2014-09-05 22:44:05 -06:00
Firecage
bf4ae320c5 Absolute paths for files in the datums folder 2014-08-16 13:50:53 +02:00
Alex
45c33db77d Merge pull request #4020 from caelaislinn/bugfix
Various bugfixes
2014-07-26 17:59:07 +01:00
Alex
128cb7d9c7 Merge pull request #4124 from MrPerson/qdel_mecha
Fixes some issues with mechs getting deleted
2014-07-25 09:25:55 +01:00
Jordie0608
a3c3478147 made link into href 2014-07-23 00:39:50 +10:00
Jordie0608
c9e21033ae Rework of show-server-revision 2014-07-22 23:05:10 +10:00
Cael_Aislinn
891e5e58a5 fixes an issue where wormholes would sometimes teleport to other zlevels, sped up teleporting by using range() instead of circlerangeturfs(), makes teleporting only pick turfs from the same zlevel as the target
Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
2014-07-11 23:17:39 +10:00
MrPerson
8cabe95aac Fixes some issues with mechs getting deleted
Mechs delete correctly, and delete their special looping iterator datums just for good measure. Also now sanity check them because now they can be null.

Fixes #4067 hopefully. This issue is impossible to repro alone and even then it's one-in-a-million, but I've removed a bunch of spawn()s that only served to create a window one can jump inside between the mech running the deletion proc and actually running Destroy() and setting loc = null. I've also added two safeguards to make sure it doesn't happen in the future. Can't enter a deleted mech and getting deleted kicks anyone inside out just to be sure.

Removed the super pointless obj/mecha/proc/destroy(). Even when this was written, it should have just been in Del()!
2014-07-10 03:37:15 -07:00
ikarrus
4905beb67e Removes hacky code in favour of a process() check for the nuke disk's location
Instead of having a lot of hacky checks to prevent the disk from leaving the Z-level, it will be checked periodically by process() if Z > 2
2014-05-30 22:01:20 -06:00
Giacomand
1cfba548c5 The links in the "show server revision" menu will now open in the user's default browser, instead of opening inside the menu itself. 2014-04-20 18:43:43 +01:00
Aranclanos
fc915bf800 If you try to use the teleporter and the teleport was rejected for any reason (like having a nuclear disk), you won't get the chance to get a random damage from the teleport.
Fixes issue #2236.
Removed some spawn() calls.
Removed the chance of fail from the portal effects (the blue portals made with hand teleporters).
The portal datums will now return 0 if the teleport failed, and now use a new proc, start(), instead of New() to handle themselves.
Standarized teleport.dm from the helper_datums folder.
Removed the checks for centcomm z level and away missions z level for teleports. Now you can go there.
changed the /red messages from the teleports datum to span classes.
The "[something] bounces off of the portal!" were replaced for "The portal rejects [something]".
Removed an extra "the" on those messages.
2014-04-02 08:36:33 -03: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
Incoming
d9d75ada32 Adds a new game option: slow_game_type_odds
If it's on on the server revision screen below the preexisting information there will be a readout showing the raw chance of each round type occuring. This doesn't tell anyone what the current round type is, it just shows what the odds are.

It defaults to off
2014-02-05 17:58:07 -05:00
Giacomand
ceec829294 Tons of typo fixes and renames Centcomm to Centcom. Manual merge of #1950. 2013-12-13 21:14:23 +00:00
Giacomand
0824bbd599 * Tidied up the code.
* Changed some code to use the teleport datum features.
 * Fixed a broken check in the teleport datum.
2013-11-12 19:49:36 +00:00
Giacomand
ade13452da * Added revision dates to getrev.dm
* By converting the unix timestamp of the git log, I was able to get the date of the revision.
 * It uses the new unix2date, which figures out the date, since you can't convert unix time to byond time through byond.
2013-10-17 18:44:35 +01:00
Cheridan
bf4ef3f332 Merge pull request #802 from Ikarrus/getrev
Show Server Revision displays if Latejoin Antags are enabled
2013-06-18 17:21:53 -07:00
Ikarrus
1518d285e7 Standardized spelling of all instances of "Centcom"
Centcomm/CentComm -> Centcom
centcomm -> centcom
2013-06-17 20:49:01 -06:00
Ikarrus
e3a9d751d2 Show Server Revision displays if Latejoin Antags are enabled, like Protect Authority Roles 2013-06-17 20:36:23 -06:00
Pete Goodfellow
31a7b64c8f Updates text (TG -> /tg/station), and removes some old comments. 2013-03-24 18:34:43 +00:00
carnie
d7f92c2d7a Making modifications to getrev, requested by Nodrak x
You can now change the link to your github project by modifying config/git_host.txt

Removed config/svndir.txt, as it is no longer needed.

Signed-off-by: carnie <elly1989@rocketmail.com>
2013-03-21 03:54:27 +00:00
carnie
05afc4f52c Substitute for the getrev code. Unfortunately, it only fetches the commit-hash for HEAD.
This should be sufficient for our needs though.

Signed-off-by: carnie <elly1989@rocketmail.com>
2013-03-20 04:31:02 +00:00
carnie
8152283edc Disables the code for fetching SVN-revision info.
Obviously, this is because we have emigrated to github.
2013-03-18 05:33:31 +00:00
giacomand@gmail.com
4989c88a22 Committing carn's modifications to events and other things. Full details below.
http://forums.nanotrasen.com/viewtopic.php?f=16&t=12245#p189186

Ported all the random events to Pete/Gia's event system:
>Event system now supports weighting. default is 10. a weight of 5 is half as likely as default, 20 twice as likely....etc.
>Increased the frequency of events (dust happens over 60% of the time though)
>tidied up some ninja code: ninjas now get ~5 objectives. So they are hardmode.
>made the gravity toggle into a random event
>event system now supports round-start events
>event system now supports holiday events
>event system now supports events which can only happen after the round has lasted a certain number of ticks
>event system now supports max_occurrences for events. Setting any event's max_occurrences to 0 will stop it randomly occurring
>events now support being fed associative lists inside new(). This allows you to override their variables easily.
>wormhole events no longer cause loads of lag. They are extremely deadly. wormholes should be avoided

Other:
>replaced the procs for fetching candidates for ninjas and aliums with /proc/get_candidates(be_special_flag), it returns a list of active clients with that be_special preference enabled.
>minor fixes to minds
>your memories are displayed to you at Login()
>removed aliens_allowed
>removed ninjas_allowed
>pick_n_take() is now more efficient (uses Cut() rather than Remove()


Things I added:

 - Made the pandemic call ..() instead of doing the checks itself.
 - Made the staff of animation use more charge.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5720 316c924e-a436-60f5-8080-3fe189b3f50e
2013-02-17 11:44:37 +00:00
johnsonmt88@gmail.com
b86d90c6c2 Couple of bugfixes:
Wizards can no longer cast spells when muzzled. Fixes issue 843.

You can no longer take bags of holding or mechs to the clown planet. Fixes issue 1061.

Removed the infared sensor from the autolathe construct list. Fixes issue 1092.
- The infared sensor already does nothing, the code for it seems to have been removed ages ago, so there's no harm in doing this.
- Commenting out the define caused a few problems that I couldn't quite figure out. I'll leave it for now with a warning.

Removed the ability for pAI's to set arrest status. Dead players really shouldn't be allowed to grief people like that. Fixes issue 1093.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5060 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-14 01:17:40 +00:00
baloh.matevz
abad9978b2 - Fixed the revision number not showing properly. Hopefully it's fixed for good this time, as it works off of logic, instead of line numbers.
- Standardized the database library code
- Deleted a few unused database related files (karma and forum activation), so they won't get in my way later. They work off of no longer existent database tables.
- Made it so the server maintains a constant connection with the database, which is established on world/New() and never broken, until the server ends. If 5 consecutive database connection attempts result in no connection getting established, the server will not attempt any more connections. Made all existing database connections use the global continuous connections. Currently we need two, as we have two databases, but the old database is going to get moved into the new one.
- Fixed the spaghetti-like report in the permissions panel, which happened when someone had many permissions enabled.
- Added database connection reports to display to dream daemon on server startup.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5015 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-06 17:21:13 +00:00
elly1989@rocketmail.com
7b720a20b6 >Moved most of the helper procs into code/__HELPERS. If you see ANYTHING generic enough to be a helper proc just throw it in there and help purge the copypasta 5ever
>Replaced dd_text2list, dd_text2listcase, tg_text2listcase and tg_text2list with text2list and text2listEx. text2list will return a list of each and every character in the string if you set separator=""
>added return_file_text(filepath) which returns text from a file after doing some checks: does the file exist? is the file empty? It prints helpful error messages to the world.log if it runs into problems
>Replaced dd_file2list(filepath, seperator) with file2list(filepath, seperator). It just calls text2list(return_file_text(filepath), seperator). rather than copypasta
>Replaced time_stamp() so it's not as retarded
>Lots of the world setup stuff uses file2list now, rather than file2text -> sanity -> text2list
>Added error() warning() testing() procs. These print messages to world.log with a prefix. e.g. ## ERROR: msg.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4948 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-24 14:39:36 +00:00