Commit Graph

52 Commits

Author SHA1 Message Date
ZomgPonies
f22ae3acbe Merge pull request #998 from tigercat2000/LightShit
Baystation12's Lighting Overhaul
2015-05-11 17:06:30 -04:00
Krausus
64f39bb871 Fixes AIs and ghosts not being able to follow bots
This probably touches more files than it really should, but I can't
think of a better way to do it that isn't overhauling the saycode.
2015-05-11 06:38:14 -04:00
Tigercat2000
e1249fc640 Lighting overhaul.
This commit overhauls the lighting system to Bay12 standards. It is better
in pretty much every way.
2015-05-10 12:03:27 -07:00
Fox-McCloud
5cad8fe41e Merge pull request #500 from ZomgPonies/blood
Proper colored blood
2015-03-04 00:24:53 -05:00
ZomgPonies
8a575700b9 Finally got colored blood working properly 2015-03-03 13:45:46 -05:00
Markolie
3d9807f78c Floor bot improvements 2015-03-02 18:46:50 +01:00
Markolie
672305e034 Adds a "params" parameter to attackby(), so it keeps track of pixel_x and pixel_y among other things 2015-02-22 22:12:11 +01:00
Markolie
377dfe894d Add attack animations 2015-02-22 21:15:54 +01:00
Markolie
d8d1670b68 Revert "Revert "Saycode/language/species port from Bay""
This reverts commit d54579850c.

Conflicts:
	code/game/gamemodes/nuclear/nuclearbomb.dm
	code/game/objects/items/devices/radio/intercom.dm
	code/modules/mob/living/silicon/pai/pai.dm
2015-02-20 17:46:35 +01:00
ZomgPonies
d54579850c Revert "Saycode/language/species port from Bay" 2015-02-19 20:15:42 -05:00
Markolie
46c53be6f1 Part 2 of saycode/language/species port from Bay. Also includes bugfixes. 2015-02-20 00:50:28 +01:00
Markolie
0b937d5ace Emag refactor 2015-02-13 16:59:20 +01:00
Markolie
97b75276fa Fix robot tracking 2015-02-10 17:26:35 +01:00
Markolie
36f5bd0c52 Add AI latejoining, fix Ofitser again, blob damages pods 2015-02-05 14:58:12 +01:00
Markolie
036d8fa099 Fix Ofitser 2015-02-01 18:25:00 +01:00
Markolie
da8115dc2e Bug fixes 2014-12-20 16:27:33 +01:00
Markolie
2c79a2f376 Bot fix, add emergency door access 2014-12-19 00:32:32 +01:00
Markolie
7359061678 Bug fixes 2014-12-10 04:47:24 +01:00
Markolie
b21575f088 Bot port from /tg/ 2014-12-02 17:59:40 +01:00
Menshin
bd6b5a6870 Refined the implementation of the AStar algorithm :
*Reorganised and commented used procs for better visibility/maintenance
*Redid the PriorityQueue class
*Changed the euclidian distance to the byond one (so that we don't calculate float and square root when it's not necessary)
*Made the AStar algorithm use the closed list instead of just filling it
*Some optimization in the open list sorting : last entered is first in case of f ties, slightly less tiles are checked now
*Changes the order directions are checked when adding adjacents turfs to make for more 'realistic' path (read less 'drunk pathing' with lots of diagonals)
*Fixed some turfs densities not being check for diagonal movement
*Closed firedoors are now correctly seens as blocked by the algorithm
*Cleanbots now only moves in cardinal directions, like other bots.
*Updated the info text at the beginning of the file a bit
*Absolutely unrelated : simplified the turf.Bless() proc

Conflicts:
	code/__HELPERS/unsorted.dm
	code/defines/procs/AStar.dm
	code/game/machinery/bots/bots.dm
	code/game/machinery/bots/cleanbot.dm
	code/game/machinery/doors/firedoor.dm
	code/game/machinery/doors/windowdoor.dm
	code/game/turfs/turf.dm
2014-07-13 15:50:15 -04:00
ikarrus
50bf910867 Securitron Update
-Added a new access type that will act as a weapon permit that the HoS/HoP can manage. Centcom, Security, Captain, HoP, and the Barman start with it.
-Securitrons will now have the option to declare arrests they make to anyone who is wearing a security HUD. This can be turned off per-securitron
-Securitrons now have the option to arrest humans without any IDs. Defaults to off.
-Changed how securitron threat assessment is calculated
-Removed detective access from securitrons
-Stunning and cuffing now properly bolds their text for the perp
-Pingsky has its own type now

I realise there is a lot of existing duplicate code between the EDs and the securitrons, but I don't think I'd have the capability to tackle that any time soon.

Conflicts:
	_maps/map_files/tgstation.2.1.3.dmm
	code/game/jobs/access.dm
	code/game/jobs/job/captain.dm
	code/game/jobs/job/civilian.dm
	code/game/jobs/job/security.dm
	code/game/machinery/bots/ed209bot.dm
	code/game/machinery/bots/secbot.dm
	code/modules/admin/verbs/debug.dm
	code/modules/mob/living/carbon/carbon.dm
	code/modules/mob/living/carbon/human/human.dm
	code/modules/mob/living/carbon/monkey/monkey.dm
2014-06-25 09:30:08 -04:00
ZomgPonies
86a4274a3f add_logs runtime fix 2014-06-17 04:19:41 -04:00
Rob Nelson
9227481a8a Standardize windows.
Conflicts:
	code/WorkInProgress/buildmode.dm
	code/game/machinery/doors/airlock.dm
	code/game/objects/items/stacks/sheets/glass.dm
	code/game/objects/items/weapons/twohanded.dm
	code/game/objects/structures/window.dm
	code/modules/mining/mine_items.dm
	code/modules/mob/living/carbon/metroid/metroid.dm
	code/modules/mob/living/simple_animal/constructs.dm
	code/modules/mob/living/simple_animal/friendly/corgi.dm
2014-04-19 19:36:33 -04:00
Rob Nelson
2bc90ead02 Lazarus-injected mobs are ignored by secbots and turrets. (Fixes Redmine #66) 2014-02-28 19:17:45 -05:00
Rob Nelson
c3b021e246 Added a garbage collector implementation based on rumors from Goon and proc references in released gooncode.
And holy shit it's fast

Conflicts:
	baystation12.dme
	code/ATMOSPHERICS/pipes.dm
	code/game/machinery/Sleeper.dm
	code/game/machinery/rechargestation.dm
	code/game/objects/structures/crates_lockers/crates.dm
	code/game/objects/structures/tables_racks.dm
	code/modules/mining/mine_turfs.dm
	code/modules/paperwork/photocopier.dm
	code/modules/power/cable.dm
	html/changelog.html
2014-01-29 23:45:21 -05:00
alex-gh
601c6a9021 Ion storms can actually emag bots now 2014-01-14 00:39:06 +01:00
ZomgPonies
acb3f37c1b vg's likely superior bot code. 2014-01-13 04:24:16 -05:00
alex-gh
dfef64b00c Ion storms can actually emag bots now 2013-11-11 17:48:20 +01:00
Aranclanos
799ed74a3c Made the effects of EMP pulses get garbage collected. Less lag on the singularity (around 20 effect del per 5~10 seconds) 2013-06-04 13:47:26 +04:00
giacomand@gmail.com
cdc4332769 -Should fix machines not depowering correctly. Let me know if you find a machine which should be powered off but isn't.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5388 316c924e-a436-60f5-8080-3fe189b3f50e
2012-12-24 00:12:12 +00:00
sieve32@gmail.com
e1815db93a -Fixed a runtime involving helperbots being hit by TK-thrown objects and mobs
-Door assemblies can now be named with a pen, and the finished door with have that name

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5220 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-28 21:30:22 +00:00
giacomand@gmail.com
154f8229cd -A bot's setting can be tweaked by AIs now.
-Updated the changelog with a feature I forgot to mention.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5007 316c924e-a436-60f5-8080-3fe189b3f50e
2012-11-05 08:09:32 +00:00
Kortgstation@gmail.com
a713ab64a2 More visible_message stuff. This is terrible.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4936 316c924e-a436-60f5-8080-3fe189b3f50e
2012-10-22 23:40:02 +00:00
elly1989@rocketmail.com
1dde960a14 Bot's lights ow turn off when they are turned off.
Removed a shed-load of lights. Mainly ones right next to eachother and a whole bunch from the mining asteroid (it's a mining site not a god damn stadium!) Number of light_sources at round start has nearly halved.

Fixed the title-screen again because apparently it didn't commit last time.
Fixed some more broken icon_states

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4575 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-28 13:55:57 +00:00
elly1989@rocketmail.com
6e274cd395 New lighting, it's essentially just the old DAL system with a queue.
Comments for lighting:
	Like sd_DAL (what we used to use), it changes the shading overlays of areas by splitting each type of area into sub-areas
	by using the var/tag variable and moving turfs into the contents list of the correct sub-area.

	Unlike sd_DAL however it uses a queueing system. Everytime we  call a change to opacity or luminosity
	(through SetOpacity() or SetLuminosity()) we are  simply updating variables and scheduling certain lights/turfs for an
	update. Actual updates are handled periodically by the lighting_controller. This carries additional overheads, however it
	means that each thing is changed only once per lighting_controller.processing_interval ticks. Allowing for greater control
	over how much priority we'd like lighting updates to have. It also makes it possible for us to simply delay updates by
	setting lighting_controller.processing = 0 at say, the start of a large explosion, waiting for it to finish, and then
	turning it back on with lighting_controller.processing = 1.

	Unlike our old system there is a hardcoded maximum luminosity. This is to discourage coders using large luminosity values
	for dynamic lighting, as the cost of lighting grows rapidly at large luminosity levels (especially when changing opacity
	at runtime)

	Also, in order for the queueing system to work, each light remembers the effect it casts on each turf. This is going to
	have larger memory requirements than our previous system but hopefully it's worth the hassle for the greater control we
	gain. Besides, there are far far worse uses of needless lists in the game, it'd be worth pruning some of them to offset
	costs.

	Known Issues/TODO:
		admin-spawned turfs will have broken lumcounts. Not willing to fix it at this moment
		mob luminosity will be lower than expected when one of multiple light sources is dropped after exceeding the maximum luminosity
		Shuttles still do not have support for dynamic lighting (I hope to fix this at some point)
		No directional lighting support. Fairly easy to add this and the code is ready.
		When opening airlocks etc, lighting does not always update to account for the change in opacity.

Explosions now cause lighting to cease processing temporarily.

Moved controller datums to the code/controllers directory. I plan on standardising them.
"Master","Ticker","Lighting","Air","Jobs","Sun","Radio","Supply Shuttle","Emergency Shuttle","Configuration","pAI" controller datums can be accessed via the debug controller verb (used to be the debug master controller verb)
Supply shuttle now uses a controller datum. Shuttles tend to arrive up to 30 seconds late, this is not a bug.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4537 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-25 16:06:57 +00:00
sieve32@gmail.com
b64d5c71e9 -Including the .dm that I forgot from r4525
-Changed the air assimilation for ReplaceWithFloor() and ReplaceWithPlating() so that it doesn't count non-floors/non-space turfs against the average.
-Commented them as well
Fixes Issue 851
-Standardized AIbots a bit, primarily with vars, attackby(), emag() and such (Mostly excludes M.U.L.E.'s though)
-AIbots now have a maintenece panel on them, which can be opened after unlocking the access panel by using a screwdriver
-The bots are now repaired by opening the maint panel and using a welder
-Emagging the access panel will unlock it permanatly, and emagging it with the maint panel open will trigger the emag behavior
-Floorbots will actually pull up tiles when emagged, 90% to just pull up the plating (And add it to the tile stock), and 10% to replace the floor with lattice
-When destroyed, floorbots will actually drop all the tiles they have stored, not just 1

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4528 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-24 23:16:34 +00:00
elly1989@rocketmail.com
4073ac9b00 Replaced all 'file.extension' references with 'relativepath/file.extension' using a script by thvortex of ss13-daedalus.
All credits to the author for this handy little script.
I Committed the modified python script to tool directory. Although it needs to be in the root folder of your repo to work.

To notice the improved compile times, in dreammaker go to Build > Preferences > and untick "automatically set file_dir for subfolders"

If this commit inteferes with any large projects just revert it, do your thing, then rerun the script. Easy-peasy.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4488 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-18 16:33:40 +00:00
baloh.matevz
6e776a54c4 - Fixes the issue of simple animal attacks not logging in attack logs. There's a billion places where these attacks are copy-pasted to... seriously, who coded this? Fixes issue 795
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4445 316c924e-a436-60f5-8080-3fe189b3f50e
2012-08-16 18:52:34 +00:00
sieve32@gmail.com
459c558898 -Make holodeck eswords a child of obj/item/weapon/holo instead of regular eswords, clumsy check removed as a result, and you can no longer do things like cutting through walls or doors or what have you. (Fixes Issue 665)
-Redid icons to be more optimized at compile by setting icon = 'icons/folder/icon.dmi' instead of just icon = 'icon.dmi', meaning that Dream Maker doesn't have to search through every single file for every single .dmi. This shouldn't lead to any errors because of how I went about it, plus the fact that Dream Maker would have freaked out if I screwed something up. Also moved around 2 icons that weren't sorted well.

r4146 compile time: 1 minute, 40 seconds
r4147 compile time: 45 seconds

[VGTG]

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4147 316c924e-a436-60f5-8080-3fe189b3f50e
2012-07-23 00:48:51 +00:00
elly1989@rocketmail.com
136f27d289 Fixed a minor derp with floorbots. The completed floorbot was spawning in-hand, a place it should never be.
Updated the bots text to use the stylesheet.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3928 316c924e-a436-60f5-8080-3fe189b3f50e
2012-06-27 16:12:00 +00:00
kortgstation@gmail.com
1a3d68f009 Simple animals capable of dealing damage can now attack bots (medbot, beepsky, etc)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3239 316c924e-a436-60f5-8080-3fe189b3f50e
2012-03-03 02:06:22 +00:00
panurgomatic
32b2be1b5a - Simple event dispatch system.
- atom.forceMove() proc. Ignores density and other Move() restrictions, but calls Exited() and Entered()
- var/emagged moved to /obj/machinery class
- anyprob() helper proc.
- Mecha internal damage vars encapsulated.
- Mech Fabricators now require robotics ID to operate. Emag removes this restriction.
- Added Odysseus Medical Exosuit and it's parts. Has integrated Medical Hud and ability to mount medical modules.
- Added Sleeper Medical module for medical exosuits. Similar to common sleepers, but no ability to inject reagents.
- Added Cable Layer module for exosuits. Load with cable (attack cable with it), activate, walk over dismantled floor.
- Added another exosuit internal damage type - short circuit. Short-circuited exosuits will drain powercell charge and power relay won't work.
- You should be able to send messages to exosuit operators using Exosuit Control Console
- Gygax armour and module capacity nerfed.
- Exosuit weapon recharge time raised.
- Bugfix: EMP actually drains exosuit cell and damages it

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2780 316c924e-a436-60f5-8080-3fe189b3f50e
2011-12-23 10:54:23 +00:00
mport2004@gmail.com
17ed3899c4 Fixed the map/code issues that the body bags caused.
/obj/effects is now /obj/effect.
/obj/station_objects is now /obj/structure.
Did a bit of minor blob work. 
The Bay 12 body bags were replaced with closets because having two sets of code that do almost the same thing is silly.
Changed back a few of the last jobproc edits as the remove from list before assign was a check to see if the mob was fucked up and if it was remove it so we did not check it again as it would still be fucked up.
The medbay/tox monkeys names are random once more.  More random name monkeys will help with changeling and clean up the observe/mob menus.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2324 316c924e-a436-60f5-8080-3fe189b3f50e
2011-10-03 10:28:57 +00:00
baloh.matevz
e8c6b08419 - Object tree grouped a bit more.
Two new categories were made: station_objects and effects. station_objects, which I'm sure someone will want renamed to 'structures' contains the objects which don't need process() or power code.

Effects contains objects which are either landmarks, triggers, spawners or decal.

Screenshot:
http://www.kamletos.si/new%20object%20tree.PNG

I didn't notice any bugs, but with a revision editing 276 files of byond code, you never know.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2323 316c924e-a436-60f5-8080-3fe189b3f50e
2011-10-03 06:54:28 +00:00
mport2004@gmail.com
e95d16da16 Lawyer now has a purple suit and the job has two slots.
Lowered the number of spare jumpsuits in most of the lockers from 6 to 3.
The old arrival message is now back in.
Finished the Ion Rifle and added one to the armory.  Might need to change it up a bit depending on how well it works.
Bullet_act worked on a bit, EMP effects should work now.
Cyborgs are stunned by EMPs.
Raised the changelings required genome number for multichan at the request of Urist. 


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2175 316c924e-a436-60f5-8080-3fe189b3f50e
2011-09-11 11:39:44 +00:00
uporotiy
c3f492cd5c Changed the ion storm event slightly and added it back to the event rotation.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@2055 316c924e-a436-60f5-8080-3fe189b3f50e
2011-08-28 18:34:52 +00:00
vageyenaman@gmail.com
7cb9429a85 Okay, so this is a pretty big change.
Guns: 
     The projectile code has been mostly reworked to provide better support for effects, dynamic damage, etc. This also makes adding new projectiles easier for other coders. This is a pretty big change! If you see any bugs, get on IRC and bug me about it before the change goes live on the server!


Miscellaneous:
     I fixed some bugs with Metroids hopefully. Turrets now don't identify people laying down as a threat. 

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1884 316c924e-a436-60f5-8080-3fe189b3f50e
2011-07-18 19:58:29 +00:00
firecage@hotmail.com
29aeddee41 Here are the 3 new projectiles that Superxpdude requested.
Bulletburst, weakbulletburst and weakerbulletburst.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1859 316c924e-a436-60f5-8080-3fe189b3f50e
2011-07-15 19:04:33 +00:00
firecage@hotmail.com
0c4668e5c6 New projectile added called the shock projectile.
Three new weapons added to R&D(the protolathe). The Chem Sprayer, the Shock Gun and the Stun Revolver.

A new costume is added to the theatre, the female clown suit and mask.

Thanks for the weapon sprites goes to Khodoque.

Thanks for the female clown suit sprite goes to Cheridan.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1855 316c924e-a436-60f5-8080-3fe189b3f50e
2011-07-15 15:12:17 +00:00
rastaf.zero@gmail.com
2530b5b995 Air alarms improved. New functions are:
- mass control all air machines in area (5 modes)
 - adjustable alarm thresholds
 - air alarm in server room now is preset to treat temperature 80 K as okay.
EMP now affects bots internal cameras.
Fixed problem with AI clicking on mulebot.
Some fixes for welding with unlit welder, mostly cosmetic.
Airlock controller (as in EVA) now react to commands faster.
Access controller (was in engineering and virology in past) was speeded up too. One is installed into Incinerator to demonstrate that now it isn't fucking slow.
Airlock in toxin mixing room now have pump, so airlock can work properly.
Added some intercoms to medbay lobby.
Doors now won't lag due do mapmakers mistakes.


git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1187 316c924e-a436-60f5-8080-3fe189b3f50e
2011-03-14 19:21:02 +00:00