Commit Graph

48 Commits

Author SHA1 Message Date
Denton
d98df6e063 Refactors plastic explosives
y
2019-08-02 22:31:05 +02:00
Rob Bailey
6a26744d83 Clothing /under repath (#45548)
About The Pull Request

repaths clothing/under to be more sane
Also fixed a couple of bugs relating to pathing being incorrect, and modified a couple of bad descriptions and names
Also adds a map path updating script, which also helps show the full repath.
Why It's Good For The Game

improves maintainability, makes mapping easier, stages for a clothing dmi split
Changelog

cl
refactor: repathed all under clothing, keep an eye out for errors
/cl
2019-07-30 19:20:21 +12:00
py01
3920d39df4 Sprites for missing backpacks/satchels (#45389)
* placeholder sprites for some backpacks

* fixes a changed icon

* backpack sprites
2019-07-24 16:12:47 -07: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
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
nemvar
761a3511c5 Update backpack.dm (#44291) 2019-06-05 02:38:23 -04: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
Akrilla
2d32be1904 Small storage refactor and examine change (#44109)
* Removes repeated line

* Description change for clothing items that can only store specific items

* Get all children of can_hold listed items.

* can_hold only needs the top most item, child items are dealt automatically

* cant_hold related change

* Text change

* Moves the item check to the line above, and removes the current.

* Same changes, but to belt/wallet code.

* Change to using signals instead

* Generic signal on datum/topic

* Cache typecache, and small signal change

* Small argument tweaks and remove unneeded lists

* Change to proc

* Change call can_holds/cant_holds to use new proc

* initial, and cleaned up display code

* Null check
2019-05-30 14:20:29 -04:00
vuonojenmustaturska
fb45b7a017 Turns trait accessors into defines, fixes some bugs (#43820)
It's free performance.
2019-05-06 19:44:05 -04:00
Rob Bailey
ee33e9c6a8 [READY] The war on stun based combat, Phase I: Fuck ranged stuns (#42930)
Nukes the hybrid taser from orbit. Everywhere that spawned it now provides a disabler instead. Standard sec issue? Disabler. Armory? Disabler rack.
Want something with more punch? Beg the warden for a shotgun or an energy gun.
The hybrid taser itself has not been removed from the codebase.
Also removes the stun from the advanced energy gun so it doesn't just become the late game secret powerhouse.
Hoslaser keeps it, but only gets three shots instead of five.
The ebow has been COMPLETELY RUINED as well. See the changelog for details I'm too lazy to copypaste.
Why It's Good For The Game

Fuck stun based combat.
Sec still have their stunbatons, collapsible batons still exist, pepperspray still exists, flashbangs still exist. but now any fight involving sec or anyone who has robusted a sec officer will be less ranged instastun bullshittery.
Changelog

cl
balance: New NT regulations have replaced the standard issue hybrid taser with a pure disabler.
balance: Also fuck the stun mode on the advanced energy gun who thought that was a good idea.
balance: The hos's laser can only fire three taser shots instead of five.
balance: Energy crossbows have been reworked. They no longer paralyze, but instead heavily blur vision, apply a huge burst of stamina damage, and knock you on your ass for one second. Two shots is enough to down someone from stamina crit on both the mini and large versions. The blur lasts for 10 seconds.
balance: The price of the mini ebow has been reduced to 10TC to compensate for this weaker effect.
tweak: The ED-209 is now built with a DRAGnet and fires netshot instead of taser bolts.
balance: Stunshells can no longer be produced in any lathe.
balance: The "pacifier" mech taser can no longer be built.
/cl
2019-03-08 10:30:50 +13:00
Rob Bailey
69e217d8d9 [READY] I got guns (#41804)
cl actioninja\memager
refactor: Ballistic guns have been almost entirely reworked from a backend side. This primarily focused on moving as much as possible into the base ballistic gun and turning as many other guns into essentially varedits as possible.
add: Guns can now be racked. This is the default action unless the magazine is empty.
add: Guns now can have the magazine removed by clicking on them with an open hand while they are in hand.
tweak: Suppressors are now removed by alt clicking instead of clicking with an open hand
add: Guns now have various bolt types that all function a bit differently. Open bolts cannot have a bullet chambered with no mag, locking bolts lock back after running out of ammo, etc.
add: All ballistic gun sounds are controlled by variables instead of hardcoded usages.
tweak: The l6 LMG has a reworked control scheme. alt + click to open and close the cover, open hand to remove mag, place mag in by slapping them together, default action is rack.
tweak: Functionality that used to be snowflake code such as tactical reloads has been moved to the base gun, and can be toggled by variables.
refactor: All shotguns are now properly subpaths of the shotgun type. They still work the same.
imagedel: Gun sprites have been almost entirely overhauled to use overlays instead of states. This collapsed the L6 sprite from 20 sprites to 9 sprites to give an example.
soundadd: Remixed versions of the shotgun and base gun firesound
soundadd: New rifle firesound for l6 and moist nugget, new SMG fire sound, new sniper fire sound.
soundadd: Lots of new weapon operation sounds such as racking and bolts and the like.
imageadd: New sprites for the Riot Shotgun, Combat Shotgun, c20r, Deagle, m90, double barrel shotgun and 1911 by Memager.
imageadd: All gun sprites that were pointing to the left have been flipped to point to the right.
balance: Shotguns now can be pumped faster.
balance: Bulldog can now be tac reloaded
balance: Sawn off shotguns now have an accuracy penalty and recoil
/cl
2019-02-04 10:27:01 +13:00
Jack Edge
4a2433317c Fixes smuggler's satchels not being visible with t-ray
🆑 coiax
fix: Smuggler's satchels can now be found with t-ray scanners, as
intended.
/🆑

Fixes #42296.

I used a trait because currently this is the only object that I'm aware
of that uses partial invisibility (because it wants to be visible to
ghosts), and it seems a waste to dedicate an entire obj_flag to one
item, or put a hardcoded typepath.
2019-01-09 19:31:53 +00:00
coiax
ffd160a495 Readds non-persistent contraband filled smugglers satchels (#42228)
* Readds non-persistent contraband filled smugglers satchels

* Ten random satchels are placed each round
2019-01-07 21:16:47 +11:00
subject217
5a52f8a7bf Removes smugglers satchels (#42166)
* Removes smugglers satchels

I love the cutie reading this

* remove smuggler's satchel from code

* removes all smugglers' satchel persistence code

* removes remaining things

storage component for smugglers, the miracle ruin (uses smugglers), the dme
2019-01-02 15:28:26 -05:00
coiax
d27c64c3a8 Christmas code changes (#41763)
* Christmas code changes

🆑 coiax
add: Santa can now examine presents to see what's inside.
del: Santa no longer has a mass summon presents spell, because of his
new regenerating bag!
add: Santa's bag regenerates presents as long as Santa is holding it.
balance: You can only find one gift under a christmas tree per round, no
matter how many trees you search.
balance: Santa's teleport does not announce where he's going.
fix: Fixed Santa not having a full head and beard of white hair.
fix: Fixed Santa not being genetically white-haired.
fix: Fixed Concentrated Barber's Aid not growing extreme amounts of
hair.
/🆑

The `box` var has been moved down from `/datum/outfit/job` to
`/datum/outfit`.

Added unlimited christmas tree with presents, for testing.

Santa's restriction against opening presents is now done by
TRAIT_CANNOT_OPEN_PRESENTS. Santa's ability to see inside presents is
done by the TRAIT_PRESENT_VISION, which also determines if Santa's Bag
will regenerate presents every 30 to 60 seconds.

Santa no longer starts with a breath mask and O2 tank, but instead has
an internals box. Santa no longer has a no-access gold ID, he can
teleport from room to room!

Gifts determine what type is inside them on initialization, rather than
when unwrapped.

- Reasoning -

Unlike last year, there are various possible methods of accessing
christmas trees spawners, allowing for an unlimited number of anything
presents. Cutting down the presents to one per round regardless of tree
count will avoid this.

Santa should be able to see what he's giving, because then he can reward
the naughty and nice children with different gifts.

* Missed a merge

* Adds present investigate logs, and visible messages

* Use the body+mind checking of mob.has_trait

* Less globals, more static vars on types; also event renaming
2018-12-16 12:44:53 +13:00
81Denton
0bfe0cc80f Improves Uplink descriptions + formatting (#41565)
* Improves Uplink descriptions + formatting

* ree

* linebreaks

* misc fixes
2018-11-18 10:26:09 -05:00
ShizCalev
f30dde0691 Adds examine messages to fire/lava/freeze/acid proofed clothing items. (#40800)
cl ShizCalev
tweak: Clothing (bags, gloves, belts, uniforms, armor, ect) will now inform you if they are resistant to frost, fire, acid, and lava when examined.
/cl
2018-10-17 23:44:19 +13:00
Jordan Brown
5dc4a3be76 Merge pull request #40803 from ShizCalev/ert-fireproof
Makes ERT backpacks and spacesuits fireproof
2018-10-10 18:36:59 -04:00
ShizCalev
ddacf23cf1 Fixes industrial satchel & dufflebag not having fireproof flag. (#40798) 2018-10-10 13:10:30 +03:00
ShizCalev
af1859f5fc Makes syndicate belts and backpacks fireproof (#40804) 2018-10-10 05:47:48 -04:00
ShizCalev
1175a83e88 Correct blue space to bluespace (#40746) 2018-10-09 11:31:15 -07:00
ShizCalev
55a88a7cb2 Makes ERT uniforms fireproof 2018-10-08 23:42:45 -04:00
Mark9013100
874f2ba094 ERT edits (#40360) 2018-09-21 18:27:47 -04:00
81Denton
d54d841f18 Fixes smuggler's satchel typo (#38967) 2018-07-08 18:58:42 -04:00
81Denton
4c300323ff this violates the space geneva convention (#37903) 2018-05-18 14:45:08 -07:00
Tlaltecuhtli
49663e02ca fixes some inconsistency in the bulldog shotgun ammo (#37548)
the default bulldog shotgun ammo makes sense now
2018-05-10 09:23:14 +12:00
ShizCalev
ba1030f803 Makes more messages pronoun sensitive (#37582)
* Makes more messages pronoun sensitive

* Some cleanup

* more pronouns

* rever
2018-05-03 18:45:55 -04:00
vuonojenmustaturska
ccf8fc5bc5 Kills off three more flags from flags_2 (#37529)
code: More flags have been moved to their appropriate places
SLOWS_WHILE_IN_HAND
FROZEN
NO_MAT_REDEMPTION

all moved to item_flags
2018-04-30 10:32:23 +12:00
AnturK
4c5a43eeb8 Prefix for item flag slot defines. 2018-04-27 10:30:48 +02:00
Fox McCloud
057aa31cda Kills off /obj/item/device (#37297)
* Kills off /obj/item/device

* whoops

* whoops

* Fix
2018-04-23 15:00:23 +02:00
kevinz000
ab993a117a Component Storage, Experimental attack_hand and [ui_]interact() refactors (#36696) 2018-04-12 14:46:14 +03:00
Jordan Brown
d282c60c7d Quote the armor lists (#35668) 2018-02-16 01:25:42 -05:00
KorPhaeron
d962858116 Fixes smugglers satchels being able to refresh items forever (#35270) 2018-02-05 02:08:17 -02:00
coiax
a00d4b16a4 Costumes for nuclear operatives (#34487)
🆑 coiax
add: Nuclear operatives that wish to fail in style can purchase Centcom
Official and Clown costumes. They can also buy a defective chameleon
kit.
/🆑

It's funny. Other costume ideas welcome.

    Also merges two Initializes in camo guns
    Centcom Inspector outfit does have a Centcom headset, but it has no encryption chips. The outfit also is missing an egun.
    Removes the "Stealthy" description from camo shoes in the nuke op uplink they buy the same damn shoes, they're just more expensive for immersive and plausible reasons.
2018-01-25 08:58:00 +13:00
Tad Hardesty
f2dbe5cf13 Replace explicit z-level checks with defines (#33829)
* Replace explicit z-level checks with defines

* Rename turf_z_is_planet for consistency

* Use TRUE/FALSE in onSyndieBase
2017-12-29 14:40:06 -05:00
QualityVan
71c12b165e Fixes some syndicate duffelbags missing inhands 2017-12-20 19:54:54 -06:00
Robustin
5cb01b39d3 Ratvar will now bitchslap BOH babies (#33159)
* Singuloproofing Reebe

* Message reformatted

* Inconsistent Indentification

* user is now living so we can knock them down
2017-12-01 12:57:54 -05:00
ShizCalev
b0f24a892b Fixes bartender suit having an adjust state (#32968) 2017-11-22 13:40:11 -05:00
kevinz000
caa1e1f400 Massive research refactor; changes research system to techwebs; Decentralized research 2017-11-18 19:55:40 -08:00
AnturK
83e177e43c 512 experimental (#31251)
* 512 update

* Travis update

* Fixes mass replace mixup
2017-10-28 17:20:04 -04:00
ShizCalev
721df8dacf Cleans up some istypes not using helpers 2017-10-16 15:30:30 -04:00
Jordan Brown
b6d349e1d4 Remove drop_item, drop_item_v, put_in_hands_or_del (#31386) 2017-10-07 13:36:33 -04:00
Tad Hardesty
5a0bb2f599 Grammar fixes to atom descriptions (#31293)
* Grammar fixes to atom descriptions

- Capitalization and punctuation on most descriptions
- CentCom instead of centcom where appropriate
- Earth instead of earth where appropriate

* Remove spaces before newlines and oneline some strings
2017-10-05 16:33:35 -04:00
ShizCalev
51c48409a6 Stops putting RCD, bluespace bags, and staves into ORM (#31093)
* Stops putting RCD, bluespace, and staves into ORM

* CB

* Chat message
2017-09-29 19:33:19 -05:00
vuonojenmustaturska
772924ba38 More Initialize() fixes, requires someone to test with DB (#30831)
* Batch 1

/obj/item/storage/firstaid/fire
/obj/structure/bookcase
/obj/item/book/random QDEL, not actually in the logs but returned wrong hint
/obj/effect/landmark/start/wizard QDEL
/obj/effect/landmark/start/wizard
/obj/effect/landmark/start/new_player
/obj/effect/landmark/latejoin
/obj/effect/landmark/xeno_spawn
/obj/effect/landmark/blobstart
/obj/effect/landmark/secequipment
/obj/effect/landmark/prisonwarp
/obj/effect/landmark/ert_spawn
/obj/effect/landmark/holding_facility
/obj/effect/landmark/thunderdome/observe
/obj/effect/landmark/thunderdome/one
/obj/effect/landmark/thunderdome/two
/obj/effect/landmark/thunderdome/admin

* Batch 2

/obj/machinery/computer/operating
/obj/machinery/computer/telecrystals/uplinker
/obj/item/card/id/centcom
/obj/item/card/id/syndicate
/obj/item/card/id/captains_spare
/obj/item/card/id/ert
/obj/item/card/id/ert/Security
/obj/item/card/id/ert/Engineer
/obj/item/card/id/ert/Medical
/obj/structure/trap
/obj/machinery/magnetic_controller
/obj/item/storage/toolbox
/obj/structure/table

* Batch 3

/obj/machinery/vending/snack/random
/obj/machinery/vending/cola/random
/obj/machinery/computer/pod
/obj/machinery/computer/message_monitor
/obj/machinery/computer/atmos_control
/obj/item/implanter
/obj/item/implantcase
/obj/item/construction
/turf/open/floor/grass
/turf/open/floor/grass/snow/basalt
/turf/open/floor/grass/fakebasalt
/turf/open/floor/carpet
/turf/open/floor/fakespace
/turf/open/floor/light
/turf/open/floor/mineral
/turf/open/floor/mineral/abductor
/turf/open/floor/circuit
/turf/open/floor/clockwork
/turf/open/floor/plating
/turf/open/floor/engine/cult

* Batch 4

/obj/item/storage/backpack/satchel/flat
/obj/item/storage/backpack/satchel/flat/secret
/turf/closed/indestructible/fakeglass
/turf/closed/mineral/random
/turf/closed/mineral/gibtonite
/turf/closed/mineral
/turf/open/floor
/obj/effect/spawner/lootdrop

* Batch 5

/obj/effect/spawner/lootdrop/maintenance
/obj/effect/spawner/lootdrop/costume
/obj/item/toy/eightball/broken
/obj/item/toy/eightball
/obj/item/toy/eightball/haunted
/obj/item/device/electropack
/obj/item/restraints/legcuffs/beartrap
/obj/machinery/airlock_sensor
/obj/item/storage/box/ingredients

* Batch 6

/mob/living/simple_animal/hostile/carp/ranged
/obj/structure/lattice/clockwork
/obj/structure/lattice/clockwork/large
/obj/structure/lattice/catwalk/clockwork
/mob/living/simple_animal/hostile/mushroom
/mob/living/carbon/alien
/mob/living/carbon/alien/larva
/mob/living/carbon/alien/humanoid
/mob/living/carbon/alien/humanoid/drone
/mob/living/carbon/alien/humanoid/royal/praetorian
/mob/living/carbon/alien/humanoid/sentinel
2017-09-19 08:45:18 -04:00
AnturK
94a5f4570a Fixes dumping from inside the lockers (#29896) 2017-08-17 18:57:30 +12:00
Jordan Brown
af4d9a85c9 Repaths /obj/item/weapon to /obj/item (#29929) 2017-08-16 10:38:51 -03:00