Commit Graph

778 Commits

Author SHA1 Message Date
MistakeNot4892
b22a0568a3 Sideports a couple of init unit tests from Neb. (#7893)
* Sideports a couple of init unit tests from Neb.

* Trying to unfuck initialize logic.

* Removing del()s.

* Adjusting return values to Initialize().

* Moving some dangerous object logic from obj onto the two types that use it.

* Rolling back some init changes and commenting out initialized atom unit test.

* this comment formatting is a minor war crime

* Removed sleep() from signaler circuit Initialize().

* Additional Init fixes post-rebase.

* Uncomments subsystem test since that's passing.
2021-02-21 12:03:34 -09:00
Mechoid
1de8bc1c40 Industrial Expansion (#7811)
* Begins work on the Industrial expansion, ft hidden Lore

* Removed Painite, Quartz, and Void Opal from generation pending their eventual uses. Recipes modified to use them have been reverted of this use.

Fix Fix.

* Reset map to master.

* Add copper to Robotics, R&D, Engineering, and EVA.
2021-01-27 19:28:13 -09:00
Mechoid
95ea4f6f2d Mech Appearance Update (#7818)
* Mechs are now properly scaled. Also fixes the FUCKING taur sprites.

* What
2021-01-24 10:18:05 -09:00
Hatterhat
1e91b20592 running board (#7787)
Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
2020-12-23 00:49:17 -08:00
Mechoid
2018d76cae Department and Round Goals (#7369)
* Baseline work for Department Goals. Implements round-end stats, based in 3 categories of roughly-more-interesting to less interesting.

* Active Goal Separation.

* Map.

* Actually does the second half of this in this PR instead of a different one.
2020-12-11 15:16:47 -09:00
Atermonera
812a3b1cd9 Merge pull request #7630 from Mechoid/ExoEncumberence
Exo Encumberence
2020-09-23 22:55:33 -07:00
ShadowLarkens
927c41c7a3 Convert /material to it's correct absolute path /datum/material (#7637) 2020-09-20 02:00:09 -07:00
Atermonera
106ac35467 Merge pull request #7597 from Rykka-Stormheart/shep-dev-airlock-sound-prefs
Adds Toggles to Revert to Legacy Door Sounds and Enable Department Doors
2020-09-16 16:39:09 -07:00
Kates
26804bc7af Allow mechs to butcher things with their drill. (#7493)
* Allow mechs to butcher things with their drill.
- Vague copy of a TG feature, made difficult by their different code. Still, it works.

* Add changelog
2020-09-06 11:18:05 -07:00
Mechoid
394e787796 Tweaken 2020-09-05 18:11:05 -07:00
Mechoid
9074e80c11 Merge branch 'master' of https://github.com/PolarisSS13/Polaris into ExoEncumberence
# Fix Conflicts:
#	code/game/mecha/mecha.dm
2020-09-05 08:28:24 -07:00
Kates
1e6de9d8b5 Revert strafing speed nerf. (#7618)
A 1.5x modifier was added to strafing speed without much of any info. This is not something that should had been added without at least clearly saying it in the PR that introduced it.

Maybe it could comeback for shitty actuators, but seeing as we only have a single actuator variant at the moment, this has to go.
2020-09-05 07:44:39 -07:00
Cyantime
dbeb294ee1 Fix mech weapons breaking on self-deleting mobs (#7615) 2020-09-05 07:26:18 -07:00
Kates
f7295ff801 Mech file typo. Mostly capitals. (#7619) 2020-09-05 07:17:09 -07:00
Mechoid
0ddefbbadc Exosuits 3: It came from Robotics 2020-09-05 07:15:46 -07:00
Rykka
734d863aff Adds Toggles to Revert to Legacy Door Sounds and Enable Department Doors
Self-explanatory.

Adds toggle to go back to the old-school SS13 legacy airlock sounds, including the glass windoor airlock sounds, and a toggle to disable the per-department door sounds, which some found jarring/unrealistic.

If Per-Department sounds are disabled, the department doors will use the default sounds except for open/close except for glass airlocks, which use cmd3o/c, and maintenance, which uses hall1o/c, following maintainer-requested behavior for these doors.
PR with changes from staff: https://github.com/PolarisSS13/Polaris/pull/7595

This also relocates the following sounds to be inside machines/door for more consistency:
- airlock.ogg
- airlockclose.ogg
- airlockforced.ogg
- airlock_creaking.ogg
- boltsup.ogg
- boltsdown.ogg
- blastdoorclose.ogg
- blastdooropen.ogg
- windowdoor.ogg 

Demonstration Here (recorded before the change to make department doors use maintainer-chosen audio if department was disabled): https://giant.gfycat.com/WhichUniformBrahmancow.webm
2020-08-29 03:17:31 -04:00
Atermonera
7595e09d2b Merge pull request #7474 from lbnesquik/Kot-Mecha-missile-tweak
Improvements to mech missiles.
2020-08-25 16:15:12 -07:00
Atermonera
e68d9e8b91 Merge pull request #7494 from lbnesquik/Kot-drill-zeven-tweak
Delete some duplication in the mech drill
2020-08-20 19:17:47 -07:00
Mechoid
3c30670b9c Exosuit Upkeep (#7473)
* Exosuit upkeep, lower slowdown of Durand and Gygax components, guns now slow far less.

* Time time time.

* Seeds survive. For now.
2020-08-17 15:19:20 -07:00
lbnesquik
e8c11b92d7 za 2020-08-16 17:35:41 +02:00
lbnesquik
bc2c10adb2 Delete some duplication in the mech drill. 2020-08-14 01:02:21 +02:00
lbnesquik
1cd6351900 Improves mecha strafing
- You can now toggle strafing by alt+clicking your mech, which should be much easier to control mid combat than trying to use the action button.

Ported from TG.
2020-08-13 20:56:41 +02:00
lbnesquik
3a62665553 Improvements to mech missiles.
- Moved the missiles into a proper projectile file.
- Made it so the missile launcher actually FIRES things instead of throwing them and priming the missile.
- Copy things from TG for how the explosions are handled. Just use a regular explosion, that's weaker if it hits people.
- Updated the missile to an animated version from Teegee and stole a couple of their sprites too.
2020-08-13 01:09:56 +02:00
Atermonera
1fc6477d5e Merge pull request #7393 from Rykka-Stormheart/shep-dev-tg-alerts-updoot
Port lots of things that had to wait on alerts (Replaces Arokha's PR)
2020-08-06 11:38:16 -07:00
Mechoid
282b42dbc1 Exosuit Modular Internals, The Squeakening (#7329)
* Begins work on internal exosuit components, similar to Borgs.

* Large volume of work on exosuit components, Durand is tweaked to be higher cost in time and resources, since it requires AP to damage, without ions or explosives.

* Component Sprites

* Actually implement component repair, I knew I missed something.

* Magic numbers, properly typed lists, and indentations oh my

* Changeling
2020-08-05 16:20:46 -07:00
Kates
f9d330a080 Attempt to fix mech and fighter movement issues within space. (#7376)
* Attempt to fix mech and fighter movement issues within space.

Here is the issue in question: https://github.com/VOREStation/VOREStation/issues/8438

* Update Mecha.dm to fix #7376 request
2020-07-31 22:14:37 -07:00
Rykka
28a7698b9e Port lots of things that had to wait on alerts
Adds a HUD for observers
Adds a HUD for rigs and mechs
Adds up/down buttons for AI hud
Add more tg style alerts
Fix some bugs with the tg alerts
Improve icon_states usage by caching it
Redo how respawning works, add a button to ghost hud for it
2020-07-30 16:23:32 -04:00
Atermonera
55b2c8d6ef Merge pull request #7354 from Neerti/status_indicators
Implements Status Indicators
2020-07-30 12:29:46 -07:00
Atermonera
55d60d08cf Merge pull request #7350 from lbnesquik/Kot-Extra-Mech-branch
Relatively small changes to how damage affects mechs.
2020-07-30 11:44:40 -07:00
Kates
91e4c18c08 Allow you to only select mech weapons when cycling. (#7343)
If you desire.
2020-07-22 03:01:28 -07:00
lbnesquik
d8279c79a8 Relatively small changes to how damage affects mechs.
- Added a few comments there and there.
- Deleted some code that wasn't used for basically 9 years in some cases.
- Deleted some of my own code that wasn't supposed to be here.

- Made it so you can only suffer internal damage below 33% or 1 third of your total health.
- Increased the chance for internal damage from 20 to 25% when it does trigger.
- Added RNG to make sure some events didn't result in frequent internal damage.
- Added a variable threshold for internal damage. Currently 15 damage.
- Lowered minimum penetration values from 20 to 15.

This commit makes mechs more tanky when they are at above a decent level of health, but more vulnerable below it.
2020-07-19 19:22:36 +02:00
Neerti
94062a21bf Implements status effect icons for various statuses. Cleans up various variable accesses to use setters instead. 2020-07-18 12:53:32 -04:00
Kates
a1aada03f1 Add Mechs damage & penetration thresholds along with other improvements. (#7316)
* Indent some comments for ease of read

* Edit the armor values to be more readable, also add radiactive and bio checks.

* Add damage threshold and penetration thresholds.
If you do not enough damage, it will simply bounce off consistently. Something that does 1 damage to a person would be so ridiculously nothing to a mech that it shouldn't achieve anything.
- If you throw a pebble at a mech, it will probably do nothing unless decently good as a weapon.
Additionally, your armor reduces the effectiveness of most attacks without a minimum of armor piercing.
- A flat hit with an hammer might be damaging to a squishy human, but it would probably not be all that effective against armored outerskin. The damage will be reduced to 2/3 or x0.66 to remark on this.

* Add a couple example values to the ripley and durand.

* Move the value by which failed penetrations damage is reduced to. God this is a mouthful to say out loud.

* Change the damage message from 'no denting' to 'bounces off'

* Fix an indentation error

* Small variable tweak.
2020-07-09 16:37:01 -07:00
Kates
5d10e60c88 Add a random mech spawner (Not mapped in yet) (#7324)
* Add some work for random mechs
- Add a few variants of worn down, slightly busted mechs, this is specifically intended for mech bay later on.
- Add a random spawner with pretty much every mecho inside of it.
-

* Several mecho things:
- Add a comment to mecha.dm
- Add a forgotten comma
- Delete the vague attempt at a marauder cleared thing.
- Correctly change max health on the gygax

* Make it so the Marauder/old doesn't spawn with stuff

* Add a weaker list of mechs without phazon & marauder
2020-07-09 15:13:16 -07:00
Kates
b763e8acd0 Mech tweak - Break move_inside() into a verb & proc. (#7323) 2020-07-08 18:22:50 -07:00
Kates
c66b9584e3 Add a forgotten strafing() call. (#7322) 2020-07-08 18:21:48 -07:00
Kates
ce9ceb46e9 Add clickable action buttons from /TG/, rework a lot of backend and other improvements. (#7315)
* Fix a typo in a verb.

* Add straffing to mechs. This took my entire morning goddamnit.
You now have a straffing verb. Very convenient to shoot while firing back.
Thanks to @drexample even if i didn't use all that much of the original code i stole.

* Change straffing to strafing.

* Correct an oversight.

* Add a variable that determines whether or not you are in a mech or fighter at the moment.

* Rework a lot of mech code backend and add clickable buttons.
- Gygax overload, Durand defence mode, phazon phase, marauder smoke, zoom and thrusters have been made into modular things. Just put the 'smoke_possible' var to get those actions.
- Move most abilities that aren't for default mechs to 'Mecha_actions.dm' for less huge of a file. Marauder abilities to be moved shortly.
- Lot of verbs have been broken into procs such as toggle_lights() now being a verb refering to a lights() proc for easier work later on.
- Delete some movement code duplications.
- Changed the smoke system to be more up to date, inspiration taken from the cooking machines.

* Space out some things for ease for reading.

* Improve the damage readout for mechs on examine

* Improve speed boost code to an easier to modify version.

* Deleting a couple few forgotten debug messages.
2020-07-03 15:28:08 -07:00
Kates
cdbf339c02 Add straffing to mechs. This took my entire morning goddamnit. (#7306)
* Fix a typo in a verb.

* Add straffing to mechs. This took my entire morning goddamnit.
You now have a straffing verb. Very convenient to shoot while firing back.
Thanks to @drexample even if i didn't use all that much of the original code i stole.

* Change straffing to strafing.

* Correct an oversight.
2020-06-30 00:09:59 -07:00
Atermonera
55e12aad7b Merge pull request #7210 from VOREStation/vplk-static-power
[PORT] Static Machinery Power
2020-05-30 21:18:27 -07:00
Rykka Stormheart
9917f31031 Merge branch 'master' into shep-dev-upstream-screenport 2020-05-30 06:54:08 -04:00
Atermonera
6ab622a2b5 Merge pull request #7205 from VOREStation/Arokha/playsound
Alter playsound paradigm
2020-05-28 16:05:59 -07:00
Rykka
fc1d6e741c Ported /tg/ style screen alerts, replacing the hunger icon with them
This adds throw_alert() and /obj/screen/alert, a system that allows you to do custom hud alerts for any variety of things from "You're too cold!" to mecha status indicators for the pilot.

There's quite a few things that actually got replaced; the
fire/oxy/tox/co2 alerts are all now just alerts, as is nutrition. There's also a number of new alerts, such as blindness, highness, legcuffed, buckled, handcuffed, and probably some more I missed; read code/_onclick/hud/alert.dm and see for yourself!

Additionally, a number of tweaks have been done to resisting code, to make it so that there's an indicator when you're buckled or handcuffed, and can just click the alert to start resisting. This includes a refactor that combines the logic for lockers, holders all into one proc, called container_resist().

Also, the health and internals indicator got moved down one tile each. Needed room for the alerts. If we add the oxygen tank action buttons from /tg/ and remove the internals indicator, the health indicator can go back where it was originally.

Alerts, pictured in the top right.
![https://i.imgur.com/H7Bipci.png](https://i.imgur.com/H7Bipci.png)
2020-05-23 04:48:47 -04:00
Cerebulon
5100fa1b1c Eris Research/Machine Sprite Port (#7127)
* Eris Research/machine sprites

* lathe animations fixed

* altered decon sprite + new prosfab

* altered decon sprite + new prosfab

* Reduced contrast on tops

* conflicts???
2020-05-22 17:35:01 -07:00
Leshana
ccef6cc908 Implements "static" area machinery power usage
- Instead of using auto_use_power to re-tally up machinery's power usage every cycle, track the steady "static" load separately from the transient "oneoff" usage.  Machines then only need to inform the area when they use oneoff power or *change* their steady usage.
- Remove auto_use_power and stop SSmachines from calling it.
- Add vars to track "static" usage for each of the three power channels to /area
- Rename the existing three vars to "oneoff" so its clear what they mean (and to catch people accidentally updating them directly)
- Update area power procs and APCs to use the new variables.
- Rename /area/proc/use_power() to use_power_oneoff() to make it clear what it is doing.
- Deprecate /obj/machinery/use_power() in favor of use_power_oneoff() but don't delete yet.  Can transition gradually.
- Add logic to the update_power procs on machines to calculate the deltas and update static area power whenever their usage changes.
- Add logic to machines to update area power when they are created, destroyed, or move.
- Moved /obj/machinery procs related to area power usage into machinery_power.dm to make them easier to find.
- Added or updated comments in several places to explain what is going on and how to use it.
2020-05-19 20:17:48 -04:00
Aronai Sieyes
ad75bb86bd Alter playsound paradigm 2020-05-19 11:06:28 -04:00
Aronai Sieyes
eff72a9850 Merge branch 'master' into pol-moved 2020-05-12 11:22:43 -04:00
Aronai Sieyes
85148d5d41 Fix weird stray commas 2020-05-09 17:28:25 -04:00
Aronai Sieyes
b7aae34335 Merge branch 'master' into pol-defaultparts 2020-05-05 22:51:02 -04:00
Aronai Sieyes
6893718201 Add radial menus for mech occupants 2020-05-03 19:51:38 -04:00
Aronai Sieyes
6c6644f86c Rewrite examine() to pass a list around (#7038) 2020-04-29 13:42:16 -07:00