Commit Graph

90 Commits

Author SHA1 Message Date
Jack Edge
a01b48aa48 Removes spawn() from some things
Yay, refactoring.
2016-06-05 20:08:36 +01:00
Razharas
9fdae2fe4e Merge pull request #17576 from LatD/Research
[Ready for test/merge] R&D level remake
2016-06-02 18:41:43 +03:00
oranges
f9da5c945a dds a proper canUseTopic check to gp (#18072)
also merges range check with canUseTopic via be_close flag
2016-05-31 02:10:36 -05:00
LatD
907fc36e5c Merge remote-tracking branch 'refs/remotes/tgstation/master' into Research 2016-05-24 22:17:44 +03:00
LatD
7d6b3e6847 origin and req lvl changes 2016-05-21 17:17:20 +03:00
LatD
fe76e64641 Origin tech changes and some fixes 2016-05-17 20:57:01 +03:00
TechnoAlchemist
4705efa6da Adds new items to the mining vendors. (#17362)
* Adds new items to the mining vendors, also adds tracking implanter since that didn't exist before.

* woops

* Fixes tracking implants for miners, makes medipens not OD you on tricord.

* Actually doesn't OD on tricord now

* Chemical changes.

* Upgraded the jaunter into the wormhole lifebelt

🆑 coiax
rscadd: The Free Golems have developed the jaunter into the  wormhole
lifebelt, which automatically teleports the user when they fall in a
chasm or suffer a major medical emergency. Must be worn on the belt to work.
/🆑

Please don't mistake a random teleportation in crit for saving a user's
life, the Supply channel gets a notification, but suit sensors are
required to find them, and there's no guarantee the location picked is
safe (for example, the Toxins Test Site is a valid jaunt destination,
along with in the middle of the slime cages in Xenobiology).

* Adds modification kit.

* Golem ship now has its own /area

And a bluespace beacon.

* 5 tick medijaunt, no radio, golem jaunters + areas

The number of ticks before a medical emergency jaunt happens is now
five. No radio message is produced.

Free Golems now have no restrictions on what they can purchase. Wormhole
jaunters now specifically drop golems near their ship.

* Modkits remove the race restrictions from KAs.

* Buffs buffs buffs

I'd say something, but I'm sure I'd regret it later.

* Advanced lifebelts, golem superiority

* Removes modkit from minervendors, adds modkit to RnD!

* COMPILE DAMN YOU!!

* I made it compile

* Honor to my country, not to you :(

* fuck

* h-haha?

* Kor you know I would never actually ban you

* i could personally care less for HBls adminning style
2016-05-11 22:19:47 -05:00
Core0verload
a66c2f4418 Machine/computer boards and frames refactor (#17300)
* Map Changes

* Machine/console boards and frames refactor

* More board changes
2016-05-08 12:11:18 +02:00
Cheridan
d662b0e455 Merge pull request #17218 from phil235/FixTalkingInPipes
No longer deaf while inside pipes
2016-04-29 20:34:03 -05:00
phil235
750eaa4a57 invisibility = 100 and 101 now use defines. 2016-04-29 01:00:05 +02:00
KorPhaeron
137da8bb57 Noise for drinking potion, GPS is abstract 2016-04-28 10:09:35 -05:00
phil235
b146131a34 Second commits.
This contains the changes to item_attack.dm
Obj/attackby() now follows a similar structure as mob/living/attackby. It calls attack_obj() (like attack() but for obj) which calls attacked_by (just like attack() does)
The use of the NOBLUDGEON flag changes a bit, it is now used to signify the item cannot be used as a melee weapon at all. No attack animation, no attack message. I've given this bitflag to many items that have an afterattack() so as to not both attack and do the special action (among those items: the rcd)

There's also the code changes to attacking machines: attacking any machine now give a proper message and a sound. And with this, I made more machines breakable (using a health var and the very little used BROKEN stat). Most notably, tables can now be attacked when on harm intent and be destroyed.

The newly destroyable machines have a take_damage() proc used by all sorts of attack (weapon, xeno, animal, hulk, mech melee, gun projectile, thrown items).

There's some more stuff in there, see the PR's description and comments.
2016-04-24 20:37:00 +02:00
phil235
0caa59b21a First commit of this big PR
These are the files with just tiny tweaks. Mostly modify an object's attackby so it does "return ..()" instead of "..()".
If there are other things in this commit, the PR's description will explain them.
2016-04-24 20:26:24 +02:00
Nerd Lord
46f0dd8734 you can no longer drop survival capsules on top of dense objects, like windows 2016-04-07 19:13:20 -04:00
KorPhaeron
166cb54a60 Fixes for survival pod, GPS toggling 2016-04-07 11:49:50 -05:00
KazeEspada
b5a48866bb Fixes issues put forth by maintainers. 2016-03-19 01:09:32 -07:00
KazeEspada
132501bc94 Necropolis Tendrils emit an eerie signal.
Necropolis Tendrils not produce an eerie signal. Use this to find them or avoid them.
2016-03-17 23:29:40 -07:00
kingofkosmos
edb611f53d Adds in-hand sprites for tracking beacon, pizza box and carp plushie. 2015-11-29 16:43:52 +02:00
bgobandit
47dcbc2fd0 Various mining additions, fixes and rebalances. 2015-11-18 19:14:28 -05: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
bear1ake
f697ae90f5 removes a bunch of .0 2015-09-10 20:57:30 +09:00
duncathan
51c09f16bf makes all Destroy()'s return properly 2015-08-31 00:21:01 -06:00
phil235
94d072828f Merge branch 'master' of https://github.com/tgstation/-tg-station into CatchThrownPieFix
Conflicts:
	code/game/atoms_movable.dm
	code/game/objects/items/weapons/dice.dm
	code/game/objects/weapons.dm
	code/modules/flufftext/Hallucination.dm
	code/modules/mob/living/living_defense.dm
	code/modules/mob/living/living_defines.dm
	code/modules/reagents/reagent_containers.dm
2015-07-19 21:53:39 +02:00
Firecage
4688c2c969 Fixes proc arguments 2015-07-15 23:52:35 +02:00
phil235
b570af6795 Fixed catching banana creampie in mid throw (and similar objs). 3824 10536 (hitting a wall now makes the smashed pie effect appear ON the wall)
Moved last_bumped var from movable to living.
Renamed /obj/machinery/field/proc/bump to bump_field() to avoid confusion with Bump(). Same thing with /obj/effect/mine/Bumped() -> triggermine().
Fixes sprite when hunter leaps into a wall. 10428
Removed some commented code here and there.
Remove allow_spin var, throw_at now uses a spin argument for that.
Throwpass atom var is no longer used to check whether thrown stuff can pass stuff (now using CanPass() proc like everything else), the var is still used for some adjacency click check.
A thrown mob hitting another mob now produces a sound; also thrown mob and target one no longer swap places even on help intent.
A thrown mob now is lightly hurt (and weakened) if he hits a wall/mob/dense object. Nerf the damage when thrown mob hit wall.(20 -> 10)
Thrown obj/mob no longer bounces off wall unless it's no grav. Heavy thrown items now push an unanchored obj/mob target.
Fixes losing all momentum when getting out of a thrown closet. 6569
A lot of work on throw_at, throw_impact, and hitby to make the code more OOP. Thrown items no longer collide with border items on the side. 10479
Fixes the killer crusher. 10507
2015-07-14 00:51:19 +02:00
Razharas
792a30413e Fixes telesci console icon 2015-06-26 17:03:29 +03:00
phil235
e6dcabf245 Merge pull request #9960 from xxalpha/bass
Put drop_item() calls inside ifs. Replaced some drop_item() with unEq…
2015-06-18 15:50:35 +02:00
xxalpha
b2e84a0d3c Put drop_item() calls inside ifs. Replaced some drop_item() with unEquip( 2015-06-14 20:11:40 +01:00
kingofkosmos
c8d79e7034 Removed unnecessary spaces in these situations:
"span class = '" changed to "span class='"
"'> " changed to "'>"
2015-06-14 12:13:19 +03:00
kingofkosmos
9ebbdb2fb2 span fixes 2015-04-24 20:52:01 +03:00
kingofkosmos
e371dd9f35 more spans 2015-04-24 20:52:00 +03:00
MrPerson
b6c71dc50d Effect pooling
obj/effect/effect all pool themselves.
PoolOrNew() can now be passed a type and a list instead of a type and a location. In that case, the list will be passed to New() via arglist().
RCD's now delete their spark system and properly garbage collect.
2015-03-24 11:44:49 -07: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
phil235
135293bedf Fixes object processing list by replacing "SSobj.processing.Add" by "SSobj.processing |= " to avoid having duplicated objects in the list, meaning the objects would be processed more than once per iteration.
Fixes Alien embryo processing that was processed twice.
2015-02-14 14:18:49 +01:00
paprka
88230fabfa inhand refactor 2015-01-18 20:58:31 -08:00
carnie
a029a49392 SubSystem rewrite
Misc:

+Fixes unreported issue with initializing lighting on a specific zlevel

+Fixes two similar issues with moveElement and moveRange. Where fromIndex or toIndex could be adjusted incorrectly in certain conditions. Potentially causing bad-sorts, or out of bound errors.

+Rewrites listclearnulls(list/L) to no longer iterate through L.len elements for every null in the list (plus 1). i.e. went from L.len*(number_of_nulls+1) list-element reads (best-case), to L.len list-element reads (worst-case)

+New proc/getElementByVar(list/L, varname, value) which finds the first datum in a list, with a variable named varname, which equals value. You can also feed it atoms instead of lists due to the way the in operator functions.

+Fixes an unreported issue with Yota's list2text rewrite. Under certain conditions, the first element would not be converted into a string. Causing type-mismatch runtimes.

+New global map_ready variable. This is not fully implemented yet, but will be used to avoid duplicate calls to initialize() for map objects.

+All turfs now maintain references to all lights currently illuminating them. This will mean higher memory use unfortunately, due to the huge number of turfs. However, it will speed up updateAffectingLights significantly. I've used list husbandry to reduce baseline memory usage, so it shouldn't be any worse than some past atmos modifications memory-wise.

-Removed 'quadratic lighting', can add this back at some point. Sorry.

+modified the way lum() works slightly, to allow turfs to have overridden delta-lumen. i.e. space cannot be illuminated more than its default ambiance. This allowed removal of some iffy special-snowflake lighting areas implemented by somebody else.

+Lighting images in the dmi can now use arbitrary naming schemes. It is reliant on order now. This allows the dmi to be replaced by simply dropping in a new dmi.

-Removed all subtypes of /area/shuttle. Shuttles now create duplicate 'rooms' of /area/shuttle. (More on this later). This will conflict with most maps. Guide on how to fix to follow.

+All verbs/tools relating to world.tick_lag were refactored to use world.fps. However old config text for setting tick_lag will still work (it converts the value to fps for you)

+MC stats improved using smoothing. They now have their own tab so they dont get in the way when you're playing as an admin.

-removed the push_mob_back stuff due to conflicting changes. Sorry Giacom.

_OK, NOW THE ACTUAL INTERESTING STUFF_

Following systems moved over to subsystem datums:
air_master
garbage_manager
lighting_controller
process_mobs (aka Life())
nanomanager
power
sun
pipenets
AFK kick loops
shuttle_controller (aka emergency shuttle/pods), supply_shuttle and other shuttles
voting
bots
radio
diseases
events
jobs
objects
ticker

Subsystems hooks and variables should be commented fairly in-depth. If anything isn't particularly clear, please make an issue.

Many system-specific global variables have been refactored into

All tickers which previously used world.timeofday now use world.time

some subsystems can iterate before round start. this resolves the issue with votes not working pregame
2014-12-31 13:25:41 +00:00
phil235
d5a7d82959 Fixes a lot of "the the" in messages. 2014-12-16 22:59:55 +01:00
Hornygranny
af3f1aa4d8 Merge remote-tracking branch 'remotes/upstream/master' into emagrefactor
Conflicts:
	code/game/machinery/deployable.dm
	code/game/objects/items/weapons/storage/lockbox.dm
	code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm
	code/modules/clothing/glasses/hud.dm
	code/modules/mob/living/silicon/robot/robot.dm
2014-12-09 16:03:45 -08:00
Cheridan
90fc7f3740 Merge pull request #6026 from phil235/BluespaceCrystalVanishFix
Adding sparks, sound and messages when a bluespace crystal is crushed or thrown
2014-12-04 09:32:02 -06:00
phil235
9368c1f5a9 Adding sparks, sound and messages when a bluespace crystal is crushed or thrown.
Fixes the crushing message appearing after the mob is teleported when it should appear before.
2014-11-23 17:27:05 +01:00
Razharas
e0e75b9ec5 Fixes telesci runtime on memory settting
Fix #5778
2014-11-22 17:53:44 +03:00
Hornygranny
678a13c451 moves emag effects from attackby() into atom proc emag_act() 2014-11-20 17:49:06 -08:00
Jordie0608
5e5857e1fd Removes telesci comp's update_icon override 2014-10-07 23:16:52 +11: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
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
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
Emil
daa0a3458b Stops window from getting higher than 800 px
Don't let the window outgrow the screen when there are an huge amount of devices available!
2014-03-12 12:33:30 +01:00
Emil
7ae7eb3941 GPS window gets variable height
The GPS window will now open with a variable height to exactly fit the amount of GPS devices that will be shown.
2014-03-12 10:28:56 +01:00
MrPerson
6b29fecda1 Merge branch 'master' of https://github.com/tgstation/-tg-station into qdel_r
Conflicts:
	code/game/machinery/bots/ed209bot.dm
	code/game/machinery/rechargestation.dm
	code/game/machinery/turrets.dm
	code/game/objects/structures/crates_lockers/closets.dm
	code/modules/research/circuitprinter.dm
2014-03-08 22:03:03 -08:00
MrPerson
3c58091437 Merge branch 'master' of https://github.com/tgstation/-tg-station into qdel
Hopefully nothing went wrong but you never know.

Conflicts:
	code/FEA/FEA_fire.dm
	code/controllers/supply_shuttle.dm
	code/game/gamemodes/changeling/changeling_powers.dm
	code/game/machinery/autolathe.dm
	code/game/machinery/drying_rack.dm
	code/modules/hydroponics/hydroponics.dm
	code/modules/projectiles/projectile/magic.dm
	code/modules/reagents/Chemistry-Recipes.dm
	code/modules/reagents/reagent_dispenser.dm
2014-03-02 21:39:27 -08:00