Commit Graph

149 Commits

Author SHA1 Message Date
xxalpha
9154e6cbf2 ultra range again 2016-02-03 07:58:41 +00:00
Firecage
754491ce4c Changes relatives paths into absolute paths and makes some if()'s better 2016-01-17 01:36:56 +02:00
KorPhaeron
d564e1e2f3 Lava proofing 2015-12-17 01:48:11 -06:00
oranges
134a76cc8f Line ending apocalypse 2015-12-17 14:12:37 +13:00
Tkdrg
8ead3e8628 Cult Overhaul
Cult is awful, so let's try to improve it. Idea by KorPhaeron. I also
took some inspiration from adrix89's sacrifice cult, so credits to him.
Also thanks a lot specially to MrPerson and Iamgoofball for helping
me brainstorm this, and Joan for the sprites for the summoning orb,
the large nar-sie shell, and the new cult antag hud.

Basically, we remove conversion, and turn cult into a magic version of
nuke, with a small team of stealth elite cultists that have to build a
base in the station and sacrifice people in order to build an army of
constructs and get materials to eventually summon Nar-Sie.

Stun talismans and conversion are gone. Nar-Sie is now the only
objective. Sacrifice runes now provide summoning orbs, which you can use
to drop a large shell. Insert enough orbs in the shell and you trigger a
Delta. Defend the shell for 3 minutes and Nar-sie will arise. This shell
is bombproof and singularityproof. It may be summoned up to three times
if destroyed, but you will have to start from the beginning sac-wise.

Runes are now RNG. Each cultist only gets 50% of the runes. Inspiration
is basically The Binding of Isaac here (thank you MrPerson for this!).
Furthermore, many old runes were merged/removed and other new ones were
added. Almost all were massively rebalanced. Cult now also has a
stealthy ritual dagger with high bleeding and throw effects.
2015-12-15 04:59:31 -03:00
AnturK
a7334f95b6 Adds POI List, makes orbit use it. 2015-10-31 20:02:06 +01:00
Incoming5643
9d32d5b5ce Don't code with the web interface, kids 2015-10-27 19:43:45 -04:00
Incoming5643
2352d34036 Don't code while sleep deprived kids 2015-10-27 11:41:23 -04:00
Incoming
2825d2a6f2 apparently you have to give switch() some personal space 2015-10-27 02:24:34 -04:00
Incoming
11ae42e9cf Fixes icon blinking on level five singularities
What had happened: when stage six was added stage five's survivability took a stealth nerf, because any time the singularity reached enough energy to go six but hadn't eaten a supermatter shard (read: almost ever time) it would be force set to 2000 energy.

The problem: 2000 energy is the verge of stage four, so every time this hard set was hit (and for a hungry singulo this could be every consume check) the energy would be set to 2000. Then, at the same time, the singulo would suffer a little energy loss, momentarily become level four. Then, still all the same breath here, any new items would be eaten, pushing it back into level five.

Thus the singulo blinked.

As far as I can tell this was an unreported issue.
2015-10-27 02:11:25 -04:00
xxalpha
e82a216447 Changed various instances of range() and orange() to ultra_range(). 2015-10-19 20:04:14 +01:00
KorPhaeron
31836a5deb Removes in world 2015-10-09 22:37:53 -05:00
Xhuis
5f99b313cc Radiation changes 2015-09-26 13:33:27 -04: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
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
adf553db5c Removes the singularity's toxin damage effect on mob. 2015-06-26 18:14:34 +02:00
phil235
63358dcc78 fixing the formula. 2015-06-22 18:12:52 +02:00
phil235
13fdc68581 fixes singulo toxdamage. 2015-06-22 16:51:28 +02:00
phil235
1accee1c36 Fixes singularity not applying its tox damage to mobs. Adjusted its radiation and toxdamage values.
Fixes simple animals that needs to breath not taking damage from lack of gas to breath on space turfs.
Fixes revenant not being spaceworthy.
Fixes simple_animal accumulating radiation indefinitely because they are unaffected by it.
2015-06-22 16:10:24 +02:00
Xhuis
a9c5a1d9ea Adds a stage six singularity. 2015-06-08 14:36:50 -04:00
Jordie
4c1a1c8c87 Merge pull request #8967 from phil235/BundleFix1
A big bundle of fixes
2015-04-16 18:18:53 +10:00
phil235
081bae6740 Fixes broken ui action button for toggling chef apron's sleeves and owl's wings.
Fixes surviving suicide
Fixes suicide damage overlays.
Fixes ninja regen "clothes warm" spam message. (moving rad armor check outside of apply_effect)
Fixes ninja smoke bomb count.
Fixes dead shaved corgi
Fixes lipozine still being in code.
Fixes flattening boxes requiring them to have their window opened.
Fixes armor softening message from disarm attack.
Fixes player being forced to play spiders without choosing.
2015-04-14 13:54:36 +02:00
Iamgoofball
633c20848f Update singularity.dm 2015-04-13 11:36:39 -07:00
xxalpha
42dd431e6f Removed duplicate code.
Removed more duplicate code.
2015-03-02 17:24:40 +00:00
xxalpha
f9ebb2cff7 Merge remote-tracking branch 'upstream/master' into traymesons
Conflicts:
	code/modules/research/designs.dm
	icons/mob/eyes.dmi
	icons/obj/clothing/glasses.dmi
2015-02-27 21:15:01 +00:00
xxalpha
28d1e9bad2 Several additions and new sprites.
Reverts glasses.dm
2015-02-14 19:24:41 +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
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
tkdrg
79e8ad4142 The singularity/narsie are no longer machines 2014-12-12 19:42:37 -03: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
Razharas
ff456ebaf4 Unwinded most of shit
Meh
2014-11-19 21:36:45 +03:00
Razharas
59aa177af7 Merge pull request #5681 from Menshin/singulo_beacon_fix
Singularity beacon fix and clean-up
2014-11-18 04:19:00 +03:00
MrPerson
deb5884a19 Singularity tweaks
Fix an off-by-one error that caused the singulo to get stuck along contaiment fields. For a 5x5 singulo, it would check 6 squares ahead (correct for a step forward) and then 6 squares to the sides (incorrect). Now it tests 6 squares ahead, 5 to the sides. This is technically wrong for the growth checks but they check every direction anyways, so it's ok.
Made the singularity drift in all cases and not stop next to lattices.
In process(), moved the growth checks after the movement attempt so it will take a step and then grow rather than take a step, drift into the walls, and then attempt and fail to grow as part of the next process().
2014-11-06 16:41:21 -08:00
Menshin
9f8639397f Cleaned Singularity Beacon to use the new power machines code.
Fixed the beacon deactivating on powernets splitting.
2014-11-02 19:18:20 +01:00
Hornygranny
955847de74 defines 2014-10-31 19:00:50 -07:00
Hornygranny
9c95842adf Merge remote-tracking branch 'remotes/upstream/master' into OOPgularity2
Conflicts:
	code/game/turfs/simulated/floor.dm
2014-10-30 17:26:25 -07:00
MrPerson
3452f63f51 Fixes the singulo drifting through the shield gens and such, woops 2014-10-29 19:18:36 -07:00
Hornygranny
cc21fd1e70 Merge remote-tracking branch 'remotes/upstream/master' into OOPgularity2
Conflicts:
	code/modules/mob/living/carbon/human/human.dm
2014-10-28 15:27:46 -07:00
Hornygranny
0eecb1fc29 lol forgot to save 2014-10-27 16:47:49 -07:00
Hornygranny
264c25b892 makes the singularity's pulling OOP with the magic of atom proc 2014-10-27 16:43:35 -07:00
MrPerson
2c8adffac3 Merge branch 'master' of https://github.com/tgstation/-tg-station into space_movement_jam
Conflicts:
	code/modules/mob/living/living.dm
2014-10-25 23:25:27 -07:00
MrPerson
ef6204656f Space movement rewrite to allow everything to drift
Removes a version of atom/movable/Move() that was in mob_movement.dm.
New proc called newtonian_move() that's called as a result of things like shooting a gun or spraying a fire extinguisher and as part of atom/movable/Move().
It pushes src if it's not under gravity and gives the object a chance to stop itself.
As a result, inertial_drift() is kill.
Moved Process_Spacemove() out to atom/movable. It does the same thing, it's called whenever a drift is attempted and stops the drift if it returns 1. Default check is to look for nearby lattices to make dragging shit around the station less annoying. Mobs still call it in Client/Move()
The mob version of Process_Spacemove() will shove non-anchored nearby objects out of the way if you try to move like that. For example if you're free-floating in space next to a closet and try to move right, the closet will drift off to the left.
Mechs call their occupant's version of Process_Spacemove() so mining with a mech isn't retarded. The pussy wagon does the same thing and thus no longer works like a jetpack. Will it be making a comeback?!?! (no)
Any move will attempt to keep dragging your pulled object, not just ones initiated by the client. Should make space wind a little less annoying. Was needed to make drifting not break your drags.
Mechs drift correctly without any special snowflake crap.
Spaceslipping is gone because fuck that shit
Space movement is now slow instead of fast. Having a jetpack helps go faster but even that's slower than current. Hopefully means nuke ops can see each other as they move to the station instead of losing sight of each other instantly. Having your hands full makes spacemovement even slower.
You can drift in office chairs and drag mobs in beds or the bed itself. Currently drifting diagonally while in an office chair is bugged and I need help to solve it. It winds up in cardinal movement instead of a diagonal one.
Changes up the jetpacking effects system to cause fewer errant ion trails but it's still awful code. In hindsight I shouldn't have bothered but here we go.
2014-10-25 23:19:46 -07:00
Hornygranny
1713a089b4 src 2014-10-20 17:13:24 -07:00
Hornygranny
386972886b fixes 2014-10-20 16:55:02 -07:00
Hornygranny
e5e6ded884 singularity is now OOP 2014-10-20 16:36:00 -07:00
phil235
9b9481d65c Changes many span classes.
Replaces for(mob in oviewers) show_message()  with visible_message() when possible.

Fixes the absolute pathing in Ninja code.

Fixes facehugger attack messages being bold red for third party (only the first leap message will stay bold red for third party, for better visibility)

Standardizes vomiting message

Fixes mech occupant not receiving any attack messages when the mech is attacked.
2014-10-18 16:00:38 +02:00
Firecage
0948391502 Span classes for files in the following Modules folders: Power, Projectiles, Reagents, Recycling, Research 2014-08-23 02:02:46 +02:00