Commit Graph

75 Commits

Author SHA1 Message Date
Firecage
f79e0fc1aa Updates more paths, for example obj/stuff to /obj/stuff 2015-05-31 17:48:33 +02:00
MrStonedOne
bd6d51a0b5 Massive MC and subsystem rewrite
MC:
	No longer tracks a subsystem's cpu usage. This was basically worthless and took up space on the stat panel
	Can calculate wait down to a tenth of a decisecond to make it fps/world.ticklag agnostic
	Now allows subsystems to have a dynamic wait, that is based on a ratio of how long that subsystem has been taking to process(cost). (This system allows for upper and lower bounds, and an changeable cost delta for each subsystem)
	MC can now be told to init a zlevel

All Subsystems:
	Stats panel now allows child subsystems to pass it a message to add to its stats entry. All subsystems have been moved over to this system - This should cut down on subsystems having to copy and paste the stats proc in order to add to it
	All subsystems now properlly handle being given a zlevel in their init proc

Subsystem changes:
	Air:
		Added air to the dynamic wait subsystem. upper bound: 50, lower bound: 5, cost delta: 3 times process cost
		Air now fires 4 times faster when it can do so without lagging things up
		Pipenet has been merged into air
		Atmos machinery now processes with process_atmos(), ticked by air, not machinery.
		Hotspots (the fire object) are now object pooled
	Pipenet:
		Deleted, added to air
	Machinery:
		Moved all atmos calcualtions in all objects's process() to process_atmos().
	Lighting:
		Added Lighting to the dynamic wait subsystem. upper bound: 20, lower bound: 5, cost delta: 3 times process cost
	Ticker:
		Fixed ticker not updating the lobby panel when game start delayed
		Fixed the game start timer updating rapidly from queued fires when game start delay is removed
	Garbage/qdel:
		qdel will now limit its process time to 2ds a fire.
		qdel can now be given hints as a return to Destroy() as to what should be done with the object.
		the options are:
			queue: (default) this is the normal behavior.
			letmelive: old default to non-null/zero. does nothing with the object
			iwillgc: functionally the same as above, mainly to let people working with objects know that the object will not be queued for GC checking
			harddel: this will queue the object to be deleted without storing a soft reference, mainly to save locate() processing time.
			harddel_now: this will del() the object. To allow for a clean removal of every del() not in qdel
		All objects have been updated to the new system, harddel and iwillgc was not added to any new objects.
		Fixed some objects not GCing because they didn't properlly clear references in Destory()
		Fixed some objects getting qdel'ed preventing other objects from getting GCed because they did not null their reference to that object.
2015-04-29 02:00:25 -07:00
Ikarrus
a46d79245c Squashed commits. You can see what they do in the first commit/PR desc 2015-04-25 14:05:30 -06:00
Ikarrus
7b02a11dc2 Gang Update 5
###Major Changes###
- Influence income changed to provide weaker gangs a bigger boost, while slowing down stronger gangs to promote opportunity for comebacks
- Gangs only earn influence on territories they have held on to since the previous Status Report (the income calculation every 5 minutes). This places more significance on defending your existing territory.
- Victory conditions are only checked during Status Reports.
- Bosses no longer receive territory updates real-time. They now get them all as a list of new and lost territories in the Status Update.

###Minor Changes###
- Goal is now a coeff var so it can be modified in-game for debugging/playtesting purposes
- Simplified some list checks for gang
- Trying to tag an invalid area will just error out and return, instead of the ganger spraying regular grafiti and confusing people
2015-04-25 01:20:04 -06:00
kingofkosmos
1d14471d00 Ellipses to waiting messages. Warning-spanclasses to failing messages with an exclamation mark. 2015-04-24 20:50:50 +03:00
Ikarrus
c771d30986 Gang Mode Update 4
**Major Changes**
- Increased win condition to require 66%
- Added a switchblade. A relatively cheap and decently robust melee weapon for gangsters.
- Capped how much influence you can get every income at 50
- Limited gang spraycan use to 15
- Pistol cost increased to 30 Influence
- Promotion cost now scales to how many bosses you already have. The more bosses, the more expensive it will be. It starts off cheap at 20 influence now.

**Minor Changes**
- Tagging a territory now tells you what territory you actually tagged!
- Added an option to silence the verbose territorial updates you get from gangtools
- Capped how much influence you can get every income at 50
- Updated Centcom report on gangs
- Spraycans always show their inhands now, instead of only when uncapped
- Antag panel now shows how much influence each gang has
- Cleaned up gang code in the traitor panel
- Fixed non-gangers getting gang messages when trying to spray on an invalid territory
2015-04-21 23:23:15 -06:00
Ikarrus
4ff044dc78 Gang v3 has been tested and is now good to go! 2015-04-19 22:26:15 -06:00
Ikarrus
af7131c7ad Gang Update v3
The coding isn't done yet, but the design is. So comment on the design while I smooth out the code.

tldr; Gang mode rewrite to follow my original vision: Slower and longer rounds with less deathmatching, and a resource both teams have to fight over

NEW OBJECTIVE: CLAIM HALF THE STATION AS TERRITORY
- Gang bosses can spawn special spray cans that can be used to tag areas
- Any gang member can tag areas.
- Gang tags must be removed before another one is placed in the same area
- Game mode no longer automatically ends when the boss dies. It now ends when either the station evacs, or one gang claims more than 50% of the station areas
- Boss can promote gangers into his lieutenants, which basically means adding more bosses
- Lieutenants can do anything bosses can except promote others to lieutenant

NEW RECRUITMENT TOOL: PENS
- Recruitment pens replace flashes
- Looks exactly like a pen. Stab people to recruit them.
- Recruitment is silent but obvious to the perceptive (Causes a brief seizure)
- Cooldown between uses that gets longer as the gang gets larger

NEW TOOL: GANGTOOL
- Replaces the recaller device. Can still recall the shuttle.
- Provides overview information about the gang (membership size, income amount and time)
- Can spawn pistols and ammo
- Can spawn additional recruitment pens
- Can spawn additional gangtools (For personal use, or promoting a single ganger to lieutenant)

NEW CURRENCY SYSTEM: NAME IS WIP
- Gangtools purchase items with new currency with the placeholder name "Supply Points (SP)"
- Supply points are collected every 5 minutes. The more territory a gang has claimed, the more points they get.
- Supply points are accumulated per-gang. Having more gangtools does not intrinsically give you more points to use.
2015-04-19 01:00:17 -06:00
Iamgoofball
c06ad7e6b8 moved process() to datum. made /datum/reagents/ process instead of the containers. 2015-04-07 17:13:59 -07:00
Iamgoofball
54154bec12 Merge branch 'master' of https://github.com/tgstation/-tg-station into explosive 2015-04-07 16:21:07 -07:00
phil235
0b403b3b03 Fixes lack of dna in old blood.
Fixes some comments about blood procs in atoms.dm
Small tweak in xeno blood blood_DNA.
2015-03-31 19:48:44 +02:00
Iamgoofball
434265afa0 Reagent Decals 2: Black Powder Boogaloo 2015-03-22 02:04:31 -07:00
AnturK
97ed18abfa - Adds arrow graffiti 2015-03-20 19:41:59 +01:00
Mandurrrh
48daa155d7 Fixes #8116 trails bug 2015-03-04 19:53:11 -05:00
dannno
9b1fa2479b conflict fixing + changelog 2015-02-26 16:48:11 -05:00
dannno
23ecfeebf8 THE OWL RETURNS: PART 4: PRODUCT PLACEMENT
- adds The Owl and The Griffin prize toys to the arcade
- adds The Owl and The Griffin posters (legit and contraband respectively)
- adds The Nest barsign
2015-02-26 16:36:44 -05:00
Remie Richards
5fc7af7fbf attackby() now has an argument containing the parameters of the click that called it. Items placed on tables now center their icon where the user clicked. this is NOT true for racks, since racks look organised in their sprite.
Items reset their pixel_x and pixel_y values on pickup.
2015-02-19 13:02:43 +00:00
paprka
d6dce069f4 finally actually fixes the blood decals 2015-02-01 00:29:37 -08:00
paprka
0b64a23310 fixes blood drips 2015-01-31 23:40:27 -08:00
paprka
a661e58281 Merge branch 'master' of https://github.com/tgstation/-tg-station into ointmentandshit
Conflicts:
	_maps/map_files/TgStation/tgstation.2.1.3.dmm
2015-01-31 22:03:00 -08:00
paprka
f071655ea4 updates and optimizations 2015-01-24 01:12:57 -08:00
paprka
1cdd5f011f blood for the blood god 2015-01-20 19:17:59 -08:00
Razharas
f9cf4f233d Merge pull request #6263 from paprka/gunsthegunnening
Guns: the gunnening
2014-12-11 10:46:34 +03:00
Swag McYolosteinen
bff2e62a0f Merge pull request #6175 from Razharas/ExActFix
Fixes ex_act() destroying too much shit
2014-12-08 08:03:35 +01:00
Razharas
7758a0afed Ok now explosions shall work properly
Changed severity to target, make items not destroy themselves on
severity lower than 1, all that stuff
2014-12-05 23:21:48 +03:00
paprka
2425903320 intial commit, renames stechkin 2014-12-04 18:13:50 -08:00
phil235
656a533b1a Fixes being able to rip posters more than once by opening multiple confirmation windows beforehand. 2014-12-02 20:44:28 +01:00
Razharas
ff456ebaf4 Unwinded most of shit
Meh
2014-11-19 21:36:45 +03:00
tkdrg
b37b2651d3 Point is now a mob verb to reduce lag 2014-10-25 22:54:17 -03:00
Lo6a4evskiy
18ad0292c3 fixed compilation errors 2014-10-07 12:47:53 +04:00
Lo6a4evskiy
41eb04356f Merge remote-tracking branch 'upstream/master' into Custom_graffiti
Conflicts:
	code/game/objects/effects/decals/crayon.dm
2014-10-07 12:43:59 +04:00
MrPerson
651c3e6db5 Merge to master - sole conflicting file was ninja.dm FUCK NINJAS 2014-10-04 01:45:39 -07:00
Lo6a4evskiy
b5f0753c8f Prevented from using popups away from crayon, popup now updates properly, mime colours are properly shown. 2014-09-28 14:02:08 +04:00
Lo6a4evskiy
8ab6bf0c15 Super Awesome Crayons! 2014-09-24 22:19:12 +04:00
Lo6a4evskiy
82e1ce9141 Choosing graffiti instead of drawing random one 2014-09-16 20:57:24 +04:00
JStheguy
ae64c526ad Okay yeah some changes
Error posters link to /tg/ issues page now.
Also syndie revolvers have 7 shots so yeah change because facts
2014-08-27 07:14:43 -05:00
JStheguy
0dc184004c NT Poster Port
-Adds all them NTstation posters and the poster subtype system.
2014-08-26 19:03:03 -05:00
MrPerson
d0c97aae72 Merge branch 'master' of https://github.com/tgstation/-tg-station into examinate_the_doctor
Conflicts:
	code/ATMOSPHERICS/components/unary/vent_pump.dm
	code/game/gamemodes/cult/ritual.dm
	code/game/gamemodes/nuclear/pinpointer.dm
	code/game/machinery/spaceheater.dm
	code/game/machinery/status_display.dm
	code/game/objects/effects/decals/crayon.dm
	code/game/objects/items/stacks/stack.dm
	code/game/objects/items/weapons/airlock_painter.dm
	code/game/objects/items/weapons/cigs_lighters.dm
	code/game/objects/items/weapons/storage/secure.dm
	code/game/objects/items/weapons/tanks/tank_types.dm
	code/modules/assembly/assembly.dm
	code/modules/assembly/holder.dm
	code/modules/assembly/mousetrap.dm
	code/modules/mob/living/carbon/alien/special/facehugger.dm
	code/modules/mob/living/carbon/slime/examine.dm
	code/modules/power/cable.dm
	code/modules/reagents/grenade_launcher.dm
	code/modules/reagents/reagent_containers/food/drinks.dm
	code/modules/reagents/reagent_containers/food/snacks.dm
	code/modules/reagents/reagent_containers/glass.dm
	code/modules/recycling/sortingmachinery.dm

Thanks Firecage, this is all your fault
2014-08-20 05:54:20 -07:00
Firecage
22743b77f4 Adds asbolute paths to some effect files. 2014-08-07 18:59:06 +02:00
MrPerson
645ca7f8a1 Merge branch 'master' of https://github.com/tgstation/-tg-station into examinate_the_doctor
Conflicts:
	code/_onclick/click.dm
	code/game/atoms.dm
	code/game/objects/items/toys.dm
	code/modules/paperwork/folders.dm
	code/modules/power/cable.dm
2014-06-09 01:50:44 -07:00
MrPerson
9d9a657acf Change examine() from an atom verb to a mob verb
Just in time for the feature freeze, a big change that will introduce bugs! Yay!
Mob verb is called verb/examinate(target), which just calls target.examine(user) and face_atom(target)
For explanation why, see http://www.byond.com/forum/?post=1326139&page=2#comment8198716
Long story short, mob verbs are much faster than object verbs. The goal is to make right-click menus populate faster.

Also changes a bunch of examine() procs to always, ALWAYS call the parent. Except mobs, but you have 1 guess why I'm not touching them. Mostly this affects obj/item/examine().
And also remove a whole shitload of pointless set src in view(2) kind of crap. Also span classes.
2014-05-01 09:56:39 -07:00
Cheridan
f83f1932b2 Meteor code uses OOP principles a little better now
Adds new types of meteors with different effects.
Meteors drop some ore when they hit.
2014-04-23 01:37:44 -05:00
Mloc-Hibernia
8af8a43d6f Initial pass to convert LF to CRLF
Signed-off-by: Mloc-Hibernia <colmohici@gmail.com>
2014-03-24 08:53:40 +00: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
Giacomand
11bca59614 Refactored the code to remove most icon operations for changing an icon's colour. I had to manually set all the icons, which are subject to colour change, to be have a white/grey icon, so that the colours added properly, and then have them coloured in the code. This means the icons for runes, the reagent beaker overlay, smoke and etc will all be white. They now all use the new 500+ color variable.
The only noticeable gameplay difference is that you can't choose your graffiti's shade.
2014-01-15 21:30:55 +00:00
Nienhaus
ab76fe339d Forgot a .
...
2013-12-18 00:11:26 -06:00
Nienhaus
70b0252797 Holy fuck English
I hate what I speak.
2013-12-18 00:10:30 -06:00
Nienhaus
47fab14f9f Very English!
I suck at spelling and grammar.
2013-12-18 00:00:15 -06:00
Nienhaus
8bf9e63966 Posters
Hey look, Posters!
http://puu.sh/5QlUx.dmi
Image
2013-12-17 23:36:56 -06:00
Kyrah Abattoir
109c1065c7 code/game/objects/effects/* lowercase pass
NOTE: created a baseclass for /obj/effect/decal/remains/*
2013-11-20 18:03:41 +01:00