Commit Graph

1183 Commits

Author SHA1 Message Date
nemvar b36d1364c8 Tries to salvage the mech wreckage (#45904)
* Tries to salvage the mech wreckage

* messed up dark gygax

* Update mecha_wreckage.dm
2019-08-18 00:31:19 -07:00
nemvar 8443ce45ff Makes mechtopic look nice. (#45902)
* Makes mechtopic look nice.

* fixes rogue linebreaks

* Update mecha_topic.dm
2019-08-17 23:48:51 -07:00
Rob Bailey a4ee16130d Merge pull request #45940 from nemvar/removesmechevents
Removes mech events
2019-08-17 00:35:55 -07:00
Tlaltecuhtli 451258371e differentiates mech punches between durand and gygax + removes auto punch from leg acurator (#45879)
* Update maps.txt

* 1

* no bump smash

* moves var
2019-08-16 10:56:38 -04:00
nemvar e1fce5a29a Removes mech events 2019-08-15 22:57:39 +02:00
tralezab b5de31638d You can no longer name some things after words in the ic filter (#45696)
* quick sanity fix

* more things i found

* better list used, updated comment
2019-08-11 18:33:39 -04:00
kingofkosmos c3ea51908d Adds "you" to local visible_messages (#45631)
* adds "you" to some combat visible_messages.

* more you-messages and attack verbs to present tense.

* small fixes

* more additions and small fixes

* few message tweaks

* Fixes a typo and few other wordings.
2019-08-06 02:15:34 -07:00
Rob Bailey ea6c11d1b9 Merge pull request #45537 from bgobandit/spellingiseasyidk
Various spelling, grammar, and text changes.
2019-07-31 02:40:02 -07:00
Rob Bailey fcb98515e6 Merge pull request #45534 from nemvar/istype(src)
Removes some istype(src) stuff
2019-07-29 18:55:21 -07:00
spookydonut 88eca69eb5 converts some spawns into timers (#45429)
* converts spawns into timers

* linter

* change per review
2019-07-29 02:23:15 -07:00
RandolfTheMeh 48fbc073e5 [TMC] Defib Rework, Organ Damage Effects (#45104)
* Brain damage works on organ damage procs, some defib reworks

* Heart and Lung damaging effects and failure, liver damage and failure moved to its organ again

* Cleans up reused global

* Organ damage procs on living and living/carbon

* Changes brain damage procs again

* SR heals all organs on revive, no decay for cybernetic implants, stomach damage and fail effects.

* Damage and failure effects for the appendix, ears, and some touchups on the stomach

* Committing changes so I don't lose them

* Organs now cease decaying in the proper containers

* Organ Fridges

* Reverts map changes

* Adds coronary bypass, lobectomy, trying to deal with organ_stat runtime

* Actually fixes merge conflict

* Smartfridge tweaks

* Think I figured out map merger

* Evidently not

* Still runtiming with glass shards even after I remove the map changes?

* Fixes runtime error with brain_item

* Runtime fix on living/carbon/life

* Cleaning up old PR code

* Brain damage fix, moves defines to actually be in _DEFINES, under DNA since that's where organ slots were

* Wrong math operation used

* Brains in MMIs no longer decay

* Removes redundant variable, and defibs no longer work on heart attacks caused by failing hearts

* Removes misleading comment

* init freezes organs in case organ crates are added, morgue corpses are frozen, removes adjustLiverLoss

* Removes random spaces, scanners check brain damage severity now

* Swaps numbers for defines, fixes brain surgery, rebalances coronary bypass bleed since that was insane last I tested it

* List change

* Runs off of an index instead of using cut

* Brains can be put into organ fridges

* Fixes minor type, hotfix for cloning problem

* Removes pointless check

* Demon hearts no longer decay

* Nightmare hearts no longer decay

* Removes istype() check on process, sets can_decompose instead

* Condenses organ damage report

* Removes organ failure messages

* Less organ damage spam, implements organ threshold messages instead

* Brain damage messages go to owner, not source

* Self-examine shows damaged organs

* Minor code cleanup, adds autodoc comments to the new procs

* Inverts standard organ vars to prevent random organs decaying, adds a few more autodoc comments.

* Merged the booleans into a set of flags

* Healthy living improves organ healing rates

* dunno why this didn't update

* my actions have consequences

* Sets ORGAN_SYNTHETIC for overlooked robotics organs

* Doubles heart decay time

* 3 minute heart decay

* Lobectomy/Coronary_Bypass heal more

* removes hivemind spells from the changes
2019-07-29 02:18:22 -07:00
nemvar dabbd79ca9 Filthy override 2019-07-28 18:46:05 +02:00
bgobandit 09d38d3fad Various spelling, grammar, and text changes. 2019-07-27 21:09:53 -04:00
nemvar f7c9751d69 Removes some istype(src) stuff 2019-07-27 22:55:49 +02:00
Dennok 776bf336a3 Update mecha.dm (#45438) 2019-07-27 04:45:26 -07:00
zxaber aaaee29a63 [READY] Re-works the Durand ability (#45144)
* Woo shields

* reshuffle, adding a sound

* Re-organizing

* better defines for the signals I had

* new stuff

* fixes

* Replaced all instances of "defence" with defense"

and other small changes.

* oof

* spelling, and a forgotten check

* you, upgraded, improved, yes
2019-07-27 02:06:33 -07:00
nemvar 449e5d38e6 This turns butchering into something that resembles a component. (#45299)
* This turns butchering into something that resembles a component.

* Changes how the recycler works.
It no longer uses butchering in disgusting ways.

* I guess this works? It's not pretty though.

* How the fuck...
2019-07-26 23:57:37 -07:00
Floyd fcd855ea70 fixes 2019-07-25 00:21:18 +02:00
Qustinnus b33d1c49a3 [READY] Floydmats (Datum materials) & custom toolboxes (#45118)
* Initial work

* more

* ass

* wsedfwedff

* asss

* test

* stuff

* fuck

* sss

a

* kms

* asdadwedwdfwefwef

* start

* test

* dwwdew

* ewefwfef

* Redemption machine (#8)

* Redemption machine

* Removes debug messages

* changes

* fuckmyshitup

* coin mint works with new material shenanigans (#10)

* Auto stash before merge of "materials" and "origin/materials"

* woops

* furnace (#11)

* autolathe manufacturing of toolboxes

* eggs in a basket

* some small changes

* matcolors

* documentation

* more documentation and effects

* done

* Color man bad (#12)

* fixes designs

* ass

* more fixes

* fuck me

* firestacks adder

* epic fixes

* fixes designs

* DONE DIDDILY DOO

* removes category macro

* ch-ch-ch-changes

* fixes some stuff

* Fixes display of ore values (#9)

* Redemption machine

* Removes debug messages

* Re-adds value display

* Replaces the fire stacking component with an element instead (#13)

* fixes examine

* fixes ligma bugs

* double ligma boofus

* fix

* misses some defines

* fixes ORM

* Update code/datums/components/material_container.dm

Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>

* fixes

* Makes glass objects weaker (#14)

* Makes glass objects weaker

* uses correct proc

* fixes shit

* honk honk

* better

* oh shit oh fuck

* fixes

* fuck ORMs

* fixes the biogen

* documentation

* ass (#15)

* component

* changes

* ass

* ass

* doc

* Auto stash before merge of "materials-plasmacomponent" and "origin/materials-plasmacomponent"

* fixes rounding

* fixed
2019-07-24 11:27:01 -04:00
kingofkosmos c969f6d3eb Merge branch 'master' into addswarningspans 2019-06-27 15:12:54 +03:00
zxaber f01e2704e1 [READY] Ammunition management for ballistic mech weapons, and a nerf to mech missiles (#44529)
About The Pull Request

Adds an ammo system and printable ammunition to most mech weapons with a "rearm" function. Replaces the old system of generating ammo at a power cost. With the exception of the missile launcher and clusterbang launcher, all affected weapons have a storage capacity of ammunition equal to four-times the amount of ammo that the weapon can load (though the storage cache starts with only one full reload when printed from the mechfab). Ammo boxes are printed from the mechfab and also are available in the Sec protolathe, and each box will carry exactly one full reload. Ammo boxes are not terribly expensive, but reloading requires either an ally on foot to pop the ammo box in, or for you to hop out and do it yourself.

Missile tubes and the clusterbang launcher do not have an ammo storage cache, and so reloading them will reload the tubes directly. This is not the full extent of nerfs that the missiles need (I will do those in a separate PR since I suspect this one will be controversial) (read below), but removing the ability to reload missile pods without an ally or exiting the mech may help a bit.

The SRM-8 has been replaced with the new BRM-6 in tech webs. The BRM carries a smaller explosion and does not explode unless hitting a wall, door, shutter, or another mech, and only has six shots. The SRM-8 remains on the Mauler mech. If the BRM missile does not explode, it will deal 30 brute damage instead, and break.
Why It's Good For The Game

Currently, mech ballistic weapons function like reloadable lasers. You have an ammo counter, but it's one hundred percent based on your energy cell. This gives some flavor to ballistic weapons, making them actually feel different, and gives them a mini-niche in the form of good choices to use alongside an energy-draining mech ability (like the Gygax speed).

Use lasers when you won't need to worry about power and/or need burn damage.
Use ballistics when you want to save power and/or need brute damage.

The SRM-8 to BRM-6 change is being done here so that I don't have to wait until this PR is merged before starting it. The idea is to keep the reasons why you'd want to build a missile launcher (wall breaking and mech fighting) without also outclassing most other weapons burst damage potential. I'm not truly happy that the explosions deal zero damage to surrounding people even one tile away, but dealing no damage is better than the massive damage + stun that the current missile launcher does. Nuke Mauler has the old launcher, since I believe the consensus is that Nukie Mechs are already not generally worth the money.
Changelog

cl
balance: Mecha ballistics weapons now require ammo created from an Exosuit Fabricator or the Security Protolathe, though they will start with a full magazine and in most cases enough for one full reload. Reloading these weapons no longer chunks your power cell. Clown (and mime) mecha equipment have not changed.
balance: The SRM-8 Missile Launcher has been replaced with the BRM-6 Breaching Missile Launcher in techwebs (Nukie Mauler remains equipped with the SRM-8).
balance: Both Missile Launchers and the Clusterbang Launcher do not have an ammo cache, and cannot be reloaded by the pilot. Once the initial loaded ammo has been spent, you can use the appropriate ammo box to load the weapon directly.
add: Utility mechs that have a clamp equipped can load ammo from their own cargo hold into other mechs.
add: Nuke Ops can purchase spare ammo duffel bags for their mecha weapons, should they run low.
/cl

To-Do:

Add ammo to security protolathe
Get better ammo box sprites (hopefully)
Possibly adjust ammo counts for balance. Might make the flashbang launcher and/or cluster launcher behave like the missile pod.

    Add functionality for the utility mechs to use clamps to load ammo from their cargo hold into another mech.

Ammo counts, for anyone wondering:
Weapon 	Magazine Size 	Total ammo at start* 	Maximum total ammo*
Scattershot† 	40 (10) 	80 (20) 	200 (50)
Hades 	24 	48 	120
Ultra AC 2† 	300 (100) 	600 (200) 	1500 (500)
BRM-6 Missile Rack 	6 	6 	6
SRM-8 Missile Rack 	8 	8 	8
Flashbang Launcher 	6 	12 	30
Cluster Launcher 	3 	3 	3

*Total ammo is the amount in the weapon's magazine plus the stored ammo.
†The Scattershot lists its ammo as 40, but uses four per shot. So in reality, a single full reload gives you ten shots. Similarly, the UAC2 fires in three-round bursts, and so 300 rounds is 100 bursts.

Clown weapons (and the mime weapon) are all unaffected by this change.
2019-06-27 20:03:31 +12:00
kingofkosmos d7dd679b5a Fix span endings (#44812)
Adds a slash to instances of <span>" --> </span>".
2019-06-26 15:11:03 -07:00
kingofkosmos 81a0518474 * warning-spans added to cases of "You do not..." and "You don't..." 2019-06-25 22:05:55 +03:00
nemvar f4a52bf436 Fixes blood beam oneshotting mech pilots. (#44633)
* welp

* h

* cultmechswhen
2019-06-22 02:27:31 -04:00
Rob Bailey 65e9888fa6 [READY] Smart Cables (#44265)
Cables now autoconnect on cardinal directions. All cable placement has been completely stripped out and replaced with simple single cable per tile logic.
Low effort demo: https://www.youtube.com/watch?v=fXp8s6ORWbA
Yes I am aware that cutting it is not dropping wire, that version was bugged.
Cables no longer need a knot specifically placed to link to power objects. The sprite is automatically changed to represent this.
The only exception to this logic is that on smes units, due to the terminal being next to the output, they will not link there.
On a technical powernet side, this is the same as old cables once actually placed. They still use the existing powernet system, just the placement and connection works differently.

Old cables have been turned into "pipe cleaners" for wire art purposes. they work just like the old ones, just missing all the powernet functionality, and also you can put them on top of the floor.
Why It's Good For The Game

How obnoxious cables were to both map and work with in game has been something that has annoyed me for a really long time now.
This is both easier for new players to learn, and easier for experienced players to work with.
Along with making in game much more intuitive and easier, it makes mapping much easier as well. Mad lad wjohn was able to rip out all the mapping conversion in one day because of how much faster it is to work with.

cl actioninja and wjohn
add: Cables have been completely reworked. Simple per tile connection logic, automatically connects to things above it. Think minecraft redstone.
add: Old cables have been kept as pipe cleaner. They are non-functional in terms of power, but otherwise have the same connection logic. Also can go on top of tiles.
remove: mech cable layer has been removed because it was terrible shitcode nobody used
tweak: (sort of balance) cable stack sized has been reduced to 15.
/cl
2019-06-22 10:24:37 +12:00
vuonojenmustaturska 8ddc9677c7 examine-code refactor (#44636)
* 1/4 done? maybe?

* more

* stuff

* incremental stuff

* stuff

* stuff & things

* mostly done but not yet

* stuffing

* stuffing 2: electric boogaloo

* Git Commit and the Kingdom of the Crystal Skull

* make it actually compile

* found more stuff

* fixes

* fix AI laws appearing out of order

* fix windows

* should be the remaining stuff

* this time for real

* i guess it should compile too

* fix sechuds
2019-06-19 22:07:57 +02:00
zxaber dcfdcfa12e Oops (#44618) 2019-06-18 23:24:42 -04:00
zxaber da57b28dac Buffs tracking beacon EMPs, and makes EMP damage temporarily disable mech equipment (#44452)
- All combat mechs now start with a tracking beacon pre-installed.

    Tracking beacons no longer self-destruct when EMPing a mech from the console.
    Tracking beacons now do an EMP_HEAVY instead of an EMP_LIGHT.
    Taking any EMP damage now disables mech equipment/weapons for three seconds (refreshes on further - EMP damage, does not stack). During this time, if the user is in a combat mech, their mouse circle changes from green to red, and an error message from the mech is given to the pilot. At the end of the duration, the mouse swaps back to green and a sound beep is played.

Why It's Good For The Game

Adds some counter-play against mechs without making them nearly impossible to build. Hostile mechs can, of course, remove the console, but this is an obviously deliberate action, and more consoles can be created by printing the boards from any of the three circuit imprinters. Additionally, the weapons disable time means that fighting one with an ion rifle is a lot less dangerous if you can get a shot in before getting killed.

Non-combat mechs are not automatically beacon'd to allow traitor roboticists a workaround in the form of the Hidden Weapons Bay. They do, however, still temporarily lose use of their equipment when getting ion'd/EMP'd.
Changelog

cl
balance: Utility mechs no longer automatically get beacons.
balance: Tracking beacons no longer delete themselves when EMPing a mech, and instead have a ten-second cooldown in-between EMPs. They also now do heavy EMP damage rather than light.
balance: Mechs that take EMP damage lose the use of their weapons and equipment temporarily. Movement and abilities are not effected.
balance: Mechs taking EMP damage no longer roll for a random malfunction.
/cl

I'm not done with mechs yet, I have plans for changing how weapons work (specifically physical projectile weapons). But this is a good starting place, and hopefully makes rogue mechs less of a pain in the ass while not restricting their creation and use against blobs/xenos/whatever.
2019-06-18 11:41:19 +12:00
Tad Hardesty d1a1b11903 Handle surprise dir changes in mech rechargers (#44526)
* Handle surprise dir changes in mech rechargers

* Dot Equals Dot Dot

Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>
2019-06-17 17:32:50 +12:00
Tlaltecuhtli 1ba8e8c519 fixes phazon construction message (#44397) 2019-06-11 15:32:20 -04:00
Tlaltecuhtli 32ce298637 prevents floralotten from getting an aneurysm (#44400) 2019-06-11 13:51:49 +02:00
Emmett Gaines c3f95024b2 Gets rid of the GetComponent macros (#44220)
* Removes the GetComponent macros

* Regex replacement for GET_COMPONENT

Search: `GET_COMPONENT\( *(.+?) *, *(.+?) *\)`
Replace: `var$2/$1 = GetComponent($2)`

* Regex replacement for GET_COMPONENT_FROM

Search: `GET_COMPONENT_FROM\( *(.+?) *, *(.+?) *, *(.+?) *\)`
Replace: `var$2/$1 = $3.GetComponent($2)`
2019-06-04 17:39:58 +02:00
vuonojenmustaturska d6730b64b5 Update medical_tools.dm 2019-06-03 22:19:33 +03:00
vuonojenmustaturska 6a106bc877 Remove reagent ids and use typepaths where applicable (#44166)
cl Naksu
code: reagent IDs have been removed in favor using reagent typepaths where applicable
fix: mechas, borg hyposprays etc no longer display internal reagent ids to the player
/cl
2019-05-31 21:57:26 +12:00
vuonojenmustaturska e06dbbdd99 a thing (#44077) 2019-05-24 12:31:27 +02:00
vuonojenmustaturska b14ae1dcf6 Fixes harddel causes for various things (#43989)
* hardddel stuff

* mech stuff
2019-05-17 08:46:50 +12:00
vuonojenmustaturska b2c848bac8 Removes /datum/topic_input, a helper datum for assoc lists (#43970)
* oh no

* henk
2019-05-16 14:47:47 +02:00
vuonojenmustaturska fb45b7a017 Turns trait accessors into defines, fixes some bugs (#43820)
It's free performance.
2019-05-06 19:44:05 -04:00
py01 e982811f4d Fix mech exiting with resist (#43658)
Adds delay to resist exit.
2019-04-22 20:35:19 -07:00
William Wallace a944c2a362 Ghosts can analyze gas mixes and some new objects can be analyzed (#43502)
* Ghosts can analyze gas mixes and some new objects can be analyzed

* Replace show_air_status_to with atmosanalyzer_scan
2019-04-16 21:46:36 +12:00
FloranOtten f9a07c113e Give mechs various levels of rad protection (#43452) 2019-04-06 22:45:32 -07:00
oranges 11ec720b83 Merge pull request #43398 from ShizCalev/paraplegic-mecha-fixes
Fixes paraplegics being unable to climb into mechs.
2019-04-03 10:52:55 +13:00
zxaber 3fdd7746ef Deflection tweaks with the MK-I Ripley in mind (#43304)
* (deriuqer) yrammuS

* Also this

* Guess I'll do it this way, then

* You can hit the arms now, too

* Update code/game/mecha/mecha.dm

requested by ShizCalev, committed by Zxaber

Co-Authored-By: zxaber <37497534+zxaber@users.noreply.github.com>

* Update mecha.dm

* commited a comment
2019-04-02 20:59:57 +02:00
zxaber ae61b2ce3d Fix Firefighter construction step fluff being off by one (#43412)
Off by a little, off by a lot
2019-03-31 12:05:48 -07:00
ShizCalev 2461ee29b3 Fixes paraplegics being unable to climb into mechs. 2019-03-29 17:51:31 -04:00
py01 8ef3cf0124 Mech Balance V2 (#43055)
* mechs have exit times, sleep pilot on death

* fixes edge case on mech destruction

* Revert "Update code/game/mecha/mecha.dm"

This reverts commit a4c466f3ab157ebbd6beb336d2851eccfa9753d3.

* Update code/game/mecha/mecha.dm

Co-Authored-By: py01 <pyronetics01@gmail.com>

* trying to fix giant diff

* Update mecha.dm

* readds changes to mecha.dm
2019-03-25 11:14:44 -04:00
ShizCalev 4c414a9c40 Merge pull request #43230 from Fikou/master
Gives the Seraph a pulse rifle.
2019-03-21 23:55:01 -04:00
Rob Bailey 930e9dc501 [READY] Darkmode fixes (#43252)
* better darkmode v1

* ever better colors

* slightly improved tip color + fixed scrolly bug

* updates skin.dmf as well as some small color tweaks

* slightly tweaked more readable info and admin shit

* span_class fix

* merges ooc fixes

* whoops

* MC and ticket screen fix

* no default darkmode

* skin fixes

* more obnoxious adminpm

* more obnoxious adminshit

* skin revert to ensure proper light theme.

* prevents weirdness with default whiteness
2019-03-22 08:56:17 +13:00
Kmc2000 6b6537cccd Adds toggleable darkmode to the game! (#43072)
* Adds toggleable darkmode to the game! (Use the toggle darkmode verb if you want to use light mode)

* Removes a random linechange

* Undo unintentional changes

* Changes some forced font tags to use spans, which won't break darkmode.

* Fixes up some problems I found while testing
Darkmode is no longer default (this caused some issues with people getting a broken chat)

* Darkmode sucks less now

* Darkmode button now works again
2019-03-21 11:02:41 +13:00
Fikou d2046a763d Update marauder.dm 2019-03-20 20:38:01 +01:00