Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hoists cell support to /obj/item/gun, modular guns API #6740

Draft
wants to merge 124 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
124 commits
Select commit Hold shift + click to select a range
95901ad
initial commit
silicons Jul 29, 2024
19224c7
i think i need to reboot
silicons Jul 29, 2024
4929bec
move files
silicons Jul 29, 2024
77cec69
unified cell handling
silicons Jul 29, 2024
1d0049b
slot def
silicons Jul 29, 2024
afd4b55
._.
silicons Jul 29, 2024
c258698
update
silicons Jul 29, 2024
7011eb0
lol, lmao
silicons Jul 30, 2024
493f858
Merge remote-tracking branch 'upstream/master' into projectiles-modul…
silicons Aug 1, 2024
632b726
translations
silicons Aug 1, 2024
e875dba
translations
silicons Aug 1, 2024
53f23ca
stub
silicons Aug 1, 2024
0375b1f
Merge branch 'projectiles-modular-system' into projectiles-modular-ma…
silicons Aug 2, 2024
a0ac1d7
change
silicons Aug 2, 2024
672fce9
stubs
silicons Aug 2, 2024
0abe9a1
stubs
silicons Aug 2, 2024
01c7213
stubs
silicons Aug 2, 2024
4a9f702
update
silicons Aug 2, 2024
5af52d2
modules, firing cycles
silicons Aug 2, 2024
b4551a7
remove suicide; snowflake code & unneeded on rp
silicons Aug 2, 2024
28772ab
perfect
silicons Aug 2, 2024
ce05233
why
silicons Aug 17, 2024
ecd0230
prelim edits
silicons Aug 17, 2024
ccbba28
stubs
silicons Aug 17, 2024
328eab9
port in inhands
silicons Aug 17, 2024
84ba8c9
that
silicons Aug 17, 2024
83556ea
out with thee
silicons Aug 17, 2024
a15b369
here we go again
silicons Aug 17, 2024
d93cda1
stub projectiles
silicons Aug 17, 2024
cb6d2c8
Merge remote-tracking branch 'upstream/master' into projectiles-modul…
silicons Sep 9, 2024
9dc6ea9
fix
silicons Sep 9, 2024
c7ef4e4
that
silicons Sep 9, 2024
d609695
firing cycle
silicons Sep 9, 2024
1407a61
progres
silicons Sep 9, 2024
66253ba
sigh, launcher crap.
silicons Sep 10, 2024
f62797d
Merge remote-tracking branch 'upstream/master' into projectiles-modul…
silicons Sep 10, 2024
83060d0
that
silicons Sep 10, 2024
a39faf3
modifications, push stuff around
silicons Sep 10, 2024
a209804
that
silicons Sep 10, 2024
f3db596
get rid of unticked file and move another
silicons Sep 10, 2024
b093e30
sigh
silicons Sep 10, 2024
ac1f08c
Fix
silicons Sep 11, 2024
29a95cd
that
silicons Sep 13, 2024
cbf2976
sigh
silicons Sep 13, 2024
e620ac6
That
silicons Sep 13, 2024
22a2702
Merge remote-tracking branch 'upstream/master' into projectiles-modul…
silicons Nov 4, 2024
7db7a86
that
silicons Nov 4, 2024
b5e7869
Merge remote-tracking branch 'upstream/master' into projectiles-modul…
silicons Nov 6, 2024
72b2b65
that
silicons Nov 6, 2024
691588e
hell
silicons Nov 6, 2024
7b7ad13
updates
silicons Nov 6, 2024
e2bb34d
update
silicons Nov 6, 2024
45d259a
Fix
silicons Nov 6, 2024
384bcfd
more conversiosn
silicons Nov 6, 2024
812d80e
fixeS
silicons Nov 6, 2024
e4876a6
Merge remote-tracking branch 'upstream/master' into hybrid_taser
silicons Nov 7, 2024
1a1ca90
Merge branch 'hybrid_taser' into projectiles-modular-system
silicons Nov 7, 2024
726770a
changes
silicons Nov 7, 2024
a540b79
fix
silicons Nov 7, 2024
7bca589
Merge branch 'hybrid_taser' into projectiles-modular-system
silicons Nov 7, 2024
ac0f86f
updates
silicons Nov 7, 2024
8ee7d2d
sigh
silicons Nov 7, 2024
84e7296
list-clone
silicons Nov 7, 2024
d6c96b7
updates
silicons Nov 7, 2024
be585f4
signals
silicons Nov 8, 2024
ba76542
reference implementation
silicons Nov 8, 2024
d89c4fd
updates
silicons Nov 8, 2024
3a1dd4f
update
silicons Nov 8, 2024
ec5bef8
update
silicons Nov 8, 2024
e93ba6e
split files
silicons Nov 8, 2024
6ae99f5
Add inhand signals
silicons Nov 8, 2024
281372a
k
silicons Nov 8, 2024
f7206e2
todo
silicons Nov 9, 2024
59f6923
Fix
silicons Nov 10, 2024
830e9bc
that
silicons Nov 10, 2024
d09abcd
that
silicons Nov 10, 2024
e4a7a3e
emissive
silicons Nov 10, 2024
4e63969
Merge remote-tracking branch 'upstream/master' into projectiles-modul…
silicons Nov 14, 2024
438aa6e
Merge remote-tracking branch 'upstream/master' into projectiles-modul…
silicons Nov 14, 2024
61a465c
that
silicons Nov 14, 2024
ade96d0
al that
silicons Nov 15, 2024
242c318
Merge remote-tracking branch 'upstream/master' into projectiles-modul…
silicons Nov 16, 2024
b46eda2
sprites for components (thanks keeks)
silicons Nov 16, 2024
bb184a7
unused crap
silicons Nov 16, 2024
4620a72
maybe lohikar had a point
silicons Nov 16, 2024
9f6c25d
changes
silicons Nov 16, 2024
4b3ba0b
that
silicons Nov 17, 2024
be8b370
add that
silicons Nov 17, 2024
cddadf0
all of that
silicons Nov 17, 2024
a484a87
changes
silicons Nov 17, 2024
bfefce7
test
silicons Nov 17, 2024
b8660b0
adjust
silicons Nov 17, 2024
0773375
this'll go well
silicons Nov 17, 2024
a794a1b
Fix
silicons Nov 18, 2024
889d382
Merge remote-tracking branch 'upstream/master' into projectiles-modul…
silicons Nov 20, 2024
35b893d
fix
silicons Nov 20, 2024
99fba39
mov
silicons Nov 20, 2024
df3b985
protomag ammo
silicons Nov 21, 2024
ad6cd7a
fix
silicons Nov 21, 2024
c80c9a4
Merge remote-tracking branch 'upstream/master' into projectiles-modul…
silicons Nov 22, 2024
c3cafac
Merge remote-tracking branch 'upstream/master' into projectiles-modul…
silicons Nov 26, 2024
a2e0a69
fix
silicons Nov 27, 2024
0756f78
Merge remote-tracking branch 'citrp/master' into projectiles-modular-…
silicons Nov 30, 2024
1be24af
fix
silicons Nov 30, 2024
5ada1b6
think i'm the bad guy here
silicons Nov 30, 2024
dd6505f
that
silicons Nov 30, 2024
01f70df
patch
silicons Nov 30, 2024
ecd57fb
i hate featurecode i hate refactors i hate coding actually god fuck
silicons Nov 30, 2024
28949cd
Fix
silicons Nov 30, 2024
2a37a64
that
silicons Nov 30, 2024
df998e3
fix
silicons Dec 2, 2024
2f56274
update
silicons Dec 2, 2024
fff823d
that
silicons Dec 2, 2024
dc67df8
backspace out modular weapons
silicons Dec 2, 2024
1be9065
sigh
silicons Dec 2, 2024
663204a
That
silicons Dec 2, 2024
27d2f1e
submunition stuff
silicons Dec 2, 2024
7220c9f
Merge remote-tracking branch 'upstream/master' into projectiles-modul…
silicons Dec 2, 2024
56a507d
hell
silicons Dec 2, 2024
b1276e8
changes
silicons Dec 3, 2024
b35d9b2
lmao
silicons Dec 4, 2024
752e152
t
silicons Dec 6, 2024
86af8db
Merge remote-tracking branch 'upstream/master' into projectiles-modul…
silicons Dec 14, 2024
f4eb70c
Merge remote-tracking branch 'upstream/master' into projectiles-modul…
silicons Dec 23, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
99 changes: 64 additions & 35 deletions citadel.dme
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,7 @@
#include "code\__DEFINES\dcs\signals\datums\signals_inventory.dm"
#include "code\__DEFINES\dcs\signals\datums\signals_perspective.dm"
#include "code\__DEFINES\dcs\signals\elements\signals_element_conflict_checking.dm"
#include "code\__DEFINES\dcs\signals\items\signals_gun.dm"
#include "code\__DEFINES\dcs\signals\items\signals_inducer.dm"
#include "code\__DEFINES\dcs\signals\modules\signals_module_fishing.dm"
#include "code\__DEFINES\dcs\signals\signals_atom\signals_atom-buckling.dm"
Expand Down Expand Up @@ -259,6 +260,7 @@
#include "code\__DEFINES\languages\translation.dm"
#include "code\__DEFINES\machines\airlock_states.dm"
#include "code\__DEFINES\machines\door.dm"
#include "code\__DEFINES\machines\lathe.dm"
#include "code\__DEFINES\machines\turrets.dm"
#include "code\__DEFINES\mapping\levels.dm"
#include "code\__DEFINES\mapping\maploader.dm"
Expand Down Expand Up @@ -318,7 +320,8 @@
#include "code\__DEFINES\projectiles\ammo_magazine.dm"
#include "code\__DEFINES\projectiles\gun.dm"
#include "code\__DEFINES\projectiles\gun_attachment.dm"
#include "code\__DEFINES\projectiles\guns-legacy.dm"
#include "code\__DEFINES\projectiles\gun_component.dm"
#include "code\__DEFINES\projectiles\guns_legacy.dm"
#include "code\__DEFINES\projectiles\projectile.dm"
#include "code\__DEFINES\projectiles\system.dm"
#include "code\__DEFINES\radiation\flags.dm"
Expand Down Expand Up @@ -438,6 +441,7 @@
#include "code\__HELPERS\lists\asset_sorted.dm"
#include "code\__HELPERS\lists\associations.dm"
#include "code\__HELPERS\lists\bitflag_lists.dm"
#include "code\__HELPERS\lists\clone.dm"
#include "code\__HELPERS\lists\copy.dm"
#include "code\__HELPERS\lists\counter.dm"
#include "code\__HELPERS\lists\json.dm"
Expand Down Expand Up @@ -476,6 +480,8 @@
#include "code\__HELPERS\text\scramble.dm"
#include "code\__HELPERS\type2type\color.dm"
#include "code\__HELPERS\type2type\type2type.dm"
#include "code\__HELPERS\typepaths\subtypesof_non_abstract.dm"
#include "code\__HELPERS\typepaths\typesof_non_abstract.dm"
#include "code\__HELPERS\unsorted\contents.dm"
#include "code\__HELPERS\unsorted\locate.dm"
#include "code\__HELPERS\unsorted\radiation.dm"
Expand Down Expand Up @@ -953,6 +959,7 @@
#include "code\datums\status_effects\basic\crusher_track.dm"
#include "code\datums\status_effects\basic\incapacitation.dm"
#include "code\datums\status_effects\basic\sight.dm"
#include "code\datums\status_effects\basic\taser_stun.dm"
#include "code\datums\status_effects\grouped\crusher_mark.dm"
#include "code\datums\status_effects\grouped\staggered.dm"
#include "code\datums\underwear\bottom.dm"
Expand Down Expand Up @@ -1110,13 +1117,20 @@
#include "code\game\content\factions\corporations\hephaestus\hephaestus-faction.dm"
#include "code\game\content\factions\corporations\nanotrasen\nanotrasen-faction.dm"
#include "code\game\content\factions\corporations\nanotrasen\nanotrasen-supply.dm"
#include "code\game\content\factions\corporations\nanotrasen\items\guns\nt_expeditionary-antimaterial.dm"
#include "code\game\content\factions\corporations\nanotrasen\items\guns\nt_expeditionary-heavy_rifle.dm"
#include "code\game\content\factions\corporations\nanotrasen\items\guns\nt_expeditionary-heavy_sidearm.dm"
#include "code\game\content\factions\corporations\nanotrasen\items\guns\nt_expeditionary-light_rifle.dm"
#include "code\game\content\factions\corporations\nanotrasen\items\guns\nt_expeditionary-light_sidearm.dm"
#include "code\game\content\factions\corporations\nanotrasen\items\guns\nt_expeditionary.dm"
#include "code\game\content\factions\corporations\nanotrasen\items\guns\nt_pulse.dm"
#include "code\game\content\factions\corporations\nanotrasen\guns\nt_expedition-antimaterial.dm"
#include "code\game\content\factions\corporations\nanotrasen\guns\nt_expedition-heavy_rifle.dm"
#include "code\game\content\factions\corporations\nanotrasen\guns\nt_expedition-heavy_sidearm.dm"
#include "code\game\content\factions\corporations\nanotrasen\guns\nt_expedition-light_rifle.dm"
#include "code\game\content\factions\corporations\nanotrasen\guns\nt_expedition-light_sidearm.dm"
#include "code\game\content\factions\corporations\nanotrasen\guns\nt_expedition.dm"
#include "code\game\content\factions\corporations\nanotrasen\guns\nt_isd.dm"
#include "code\game\content\factions\corporations\nanotrasen\guns\nt_pmd.dm"
#include "code\game\content\factions\corporations\nanotrasen\guns\nt_protomag-ammo.dm"
#include "code\game\content\factions\corporations\nanotrasen\guns\nt_protomag-caliber.dm"
#include "code\game\content\factions\corporations\nanotrasen\guns\nt_protomag-magazine.dm"
#include "code\game\content\factions\corporations\nanotrasen\guns\nt_protomag-projectile.dm"
#include "code\game\content\factions\corporations\nanotrasen\guns\nt_protomag.dm"
#include "code\game\content\factions\corporations\nanotrasen\guns\nt_pulse.dm"
#include "code\game\content\factions\corporations\nanotrasen\nanotrasen-supply\animals.dm"
#include "code\game\content\factions\corporations\nanotrasen\nanotrasen-supply\atmospherics.dm"
#include "code\game\content\factions\corporations\nanotrasen\nanotrasen-supply\contraband.dm"
Expand Down Expand Up @@ -4507,12 +4521,9 @@
#include "code\modules\preferences\preference_setup\vore\08_traits.dm"
#include "code\modules\preferences\preference_setup\vore\09_nif.dm"
#include "code\modules\preferences\preference_setup\vore\10_misc.dm"
#include "code\modules\projectiles\firing_pin.dm"
#include "code\modules\projectiles\gun.dm"
#include "code\modules\projectiles\gun_item_renderer.dm"
#include "code\modules\projectiles\gun_mob_renderer.dm"
#include "code\modules\projectiles\ammunition\ammo_caliber.dm"
#include "code\modules\projectiles\ammunition\ammo_casing.dm"
#include "code\modules\projectiles\ammunition\ammo_handful.dm"
#include "code\modules\projectiles\ammunition\ammo_magazine.dm"
#include "code\modules\projectiles\ammunition\calibers\normal\a10g.dm"
#include "code\modules\projectiles\ammunition\calibers\normal\a10mm.dm"
Expand Down Expand Up @@ -4542,21 +4553,51 @@
#include "code\modules\projectiles\ammunition\calibers\special\pellet.dm"
#include "code\modules\projectiles\ammunition\calibers\special\rocket.dm"
#include "code\modules\projectiles\guns\ballistic.dm"
#include "code\modules\projectiles\guns\energy-firemode.dm"
#include "code\modules\projectiles\guns\energy.dm"
#include "code\modules\projectiles\guns\firemode.dm"
#include "code\modules\projectiles\guns\firing_pin.dm"
#include "code\modules\projectiles\guns\gun-attachment.dm"
#include "code\modules\projectiles\guns\gun-firing.dm"
#include "code\modules\projectiles\guns\gun-modular.dm"
#include "code\modules\projectiles\guns\gun-projectile-implementation.dm"
#include "code\modules\projectiles\guns\gun-projectile-legacy.dm"
#include "code\modules\projectiles\guns\gun.dm"
#include "code\modules\projectiles\guns\gun_attachment.dm"
#include "code\modules\projectiles\guns\gun_component.dm"
#include "code\modules\projectiles\guns\gun_firing_cycle.dm"
#include "code\modules\projectiles\guns\gun_item_renderer.dm"
#include "code\modules\projectiles\guns\gun_mob_renderer.dm"
#include "code\modules\projectiles\guns\launcher.dm"
#include "code\modules\projectiles\guns\magic.dm"
#include "code\modules\projectiles\guns\magnetic.dm"
#include "code\modules\projectiles\guns\vox.dm"
#include "code\modules\projectiles\guns\attachments\bayonet.dm"
#include "code\modules\projectiles\guns\attachments\flashlight.dm"
#include "code\modules\projectiles\guns\attachments\harness.dm"
#include "code\modules\projectiles\guns\ballistic\automatic.dm"
#include "code\modules\projectiles\guns\ballistic\boltaction.dm"
#include "code\modules\projectiles\guns\ballistic\bow.dm"
#include "code\modules\projectiles\guns\ballistic\caseless.dm"
#include "code\modules\projectiles\guns\ballistic\contender.dm"
#include "code\modules\projectiles\guns\ballistic\dartgun.dm"
#include "code\modules\projectiles\guns\ballistic\magnetic.dm"
#include "code\modules\projectiles\guns\ballistic\musket.dm"
#include "code\modules\projectiles\guns\ballistic\pistol.dm"
#include "code\modules\projectiles\guns\ballistic\revolver.dm"
#include "code\modules\projectiles\guns\ballistic\rocket.dm"
#include "code\modules\projectiles\guns\ballistic\semiauto.dm"
#include "code\modules\projectiles\guns\ballistic\shotgun.dm"
#include "code\modules\projectiles\guns\ballistic\sniper.dm"
#include "code\modules\projectiles\guns\ballistic\caseless\pellet.dm"
#include "code\modules\projectiles\guns\ballistic\microbattery\medigun.dm"
#include "code\modules\projectiles\guns\ballistic\microbattery\medigun_cells.dm"
#include "code\modules\projectiles\guns\ballistic\microbattery\microbattery-casing.dm"
#include "code\modules\projectiles\guns\ballistic\microbattery\microbattery-magazine.dm"
#include "code\modules\projectiles\guns\ballistic\microbattery\microbattery.dm"
#include "code\modules\projectiles\guns\ballistic\microbattery\revolver.dm"
#include "code\modules\projectiles\guns\ballistic\microbattery\revolver_cells.dm"
#include "code\modules\projectiles\guns\ballistic\sniper\collapsible_sniper.dm"
#include "code\modules\projectiles\guns\energy\frontier.dm"
#include "code\modules\projectiles\guns\energy\hooklauncher.dm"
#include "code\modules\projectiles\guns\energy\laser.dm"
Expand All @@ -4568,14 +4609,14 @@
#include "code\modules\projectiles\guns\energy\special.dm"
#include "code\modules\projectiles\guns\energy\stun.dm"
#include "code\modules\projectiles\guns\energy\temperature.dm"
#include "code\modules\projectiles\guns\energy\modular\gunframes.dm"
#include "code\modules\projectiles\guns\energy\modular\lasermediums.dm"
#include "code\modules\projectiles\guns\energy\modular\modularcooling.dm"
#include "code\modules\projectiles\guns\energy\modular\modularfcu.dm"
#include "code\modules\projectiles\guns\energy\modular\modulargun.dm"
#include "code\modules\projectiles\guns\energy\modular\modularlenses.dm"
#include "code\modules\projectiles\guns\energy\modular\modularpower.dm"
#include "code\modules\projectiles\guns\energy\special\hardlight_bow.dm"
#include "code\modules\projectiles\guns\gun_component\acceleration_coil.dm"
#include "code\modules\projectiles\guns\gun_component\active_cooler.dm"
#include "code\modules\projectiles\guns\gun_component\energy_handler.dm"
#include "code\modules\projectiles\guns\gun_component\focusing_lens.dm"
#include "code\modules\projectiles\guns\gun_component\internal_module.dm"
#include "code\modules\projectiles\guns\gun_component\particle_array.dm"
#include "code\modules\projectiles\guns\gun_component\power_unit.dm"
#include "code\modules\projectiles\guns\launcher\crossbow.dm"
#include "code\modules\projectiles\guns\launcher\grenade_launcher.dm"
#include "code\modules\projectiles\guns\launcher\pneumatic.dm"
Expand All @@ -4592,31 +4633,19 @@
#include "code\modules\projectiles\guns\magic\staff.dm"
#include "code\modules\projectiles\guns\magic\wand.dm"
#include "code\modules\projectiles\guns\magnetic\bore.dm"
#include "code\modules\projectiles\guns\magnetic\magnetic.dm"
#include "code\modules\projectiles\guns\magnetic\magnetic_construction.dm"
#include "code\modules\projectiles\guns\magnetic\magnetic_railgun.dm"
#include "code\modules\projectiles\guns\projectile\automatic.dm"
#include "code\modules\projectiles\guns\projectile\boltaction.dm"
#include "code\modules\projectiles\guns\projectile\bow.dm"
#include "code\modules\projectiles\guns\projectile\caseless.dm"
#include "code\modules\projectiles\guns\projectile\contender.dm"
#include "code\modules\projectiles\guns\projectile\dartgun.dm"
#include "code\modules\projectiles\guns\projectile\musket.dm"
#include "code\modules\projectiles\guns\projectile\pistol.dm"
#include "code\modules\projectiles\guns\projectile\revolver.dm"
#include "code\modules\projectiles\guns\projectile\rocket.dm"
#include "code\modules\projectiles\guns\projectile\semiauto.dm"
#include "code\modules\projectiles\guns\projectile\shotgun.dm"
#include "code\modules\projectiles\guns\projectile\sniper.dm"
#include "code\modules\projectiles\guns\projectile\caseless\pellet.dm"
#include "code\modules\projectiles\guns\projectile\sniper\collapsible_sniper.dm"
#include "code\modules\projectiles\projectile\helpers.dm"
#include "code\modules\projectiles\projectile\projectile-alter.dm"
#include "code\modules\projectiles\projectile\projectile-hitscan_visuals.dm"
#include "code\modules\projectiles\projectile\projectile-lazy_helpers.dm"
#include "code\modules\projectiles\projectile\projectile-physics.dm"
#include "code\modules\projectiles\projectile\projectile-tracing.dm"
#include "code\modules\projectiles\projectile\projectile.dm"
#include "code\modules\projectiles\projectile\projectile_effect.dm"
#include "code\modules\projectiles\projectile\projectile_effect\detonation.dm"
#include "code\modules\projectiles\projectile\projectile_effect\electrical_probe.dm"
#include "code\modules\projectiles\projectile\projectile_effect\electrical_stun.dm"
#include "code\modules\projectiles\projectile\projectile_effect\detonation\legacy_emp.dm"
#include "code\modules\projectiles\projectile\projectile_effect\detonation\legacy_explosion.dm"
#include "code\modules\projectiles\projectile\subtypes\arc.dm"
Expand Down
2 changes: 1 addition & 1 deletion code/__DEFINES/_flags/item_flags.dm
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
#define ITEM_THROW_UNCATCHABLE (1<<5)
/// we cannot be used a tool on click, no matter what
#define ITEM_NO_TOOL_ATTACK (1<<6)
/// we're dual wielded - multi-wielding coming later tm
/// we're wielded, usually via /datum/component/wielding
#define ITEM_MULTIHAND_WIELDED (1<<7)
/// don't allow help intent attacking
#define ITEM_CAREFUL_BLUDGEON (1<<8)
Expand Down
6 changes: 6 additions & 0 deletions code/__DEFINES/combat/armor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,9 @@
#define ARMOR_FIRE "fire"
#define ARMOR_ACID "acid"

/**
* All armor enums that can be stored in an armor datum
*/
GLOBAL_REAL_LIST(armor_enums) = list(
ARMOR_MELEE,
ARMOR_MELEE_TIER,
Expand All @@ -59,6 +62,9 @@ GLOBAL_REAL_LIST(armor_enums) = list(
ARMOR_ACID,
)

/**
* Actual armor types that can be checked for with `damage_flag`
*/
GLOBAL_REAL_LIST(armor_types) = list(
ARMOR_MELEE,
ARMOR_BULLET,
Expand Down
71 changes: 53 additions & 18 deletions code/__DEFINES/datums/design.dm
Original file line number Diff line number Diff line change
@@ -1,21 +1,3 @@
//? lathe_type bitfield

#define LATHE_TYPE_AUTOLATHE (1<<0)
#define LATHE_TYPE_PROTOLATHE (1<<1)
#define LATHE_TYPE_CIRCUIT (1<<2)
#define LATHE_TYPE_PROSTHETICS (1<<3)
#define LATHE_TYPE_MECHA (1<<4)
#define LATHE_TYPE_BIOPRINTER (1<<5)

DEFINE_BITFIELD(lathe_type, list(
BITFIELD(LATHE_TYPE_AUTOLATHE),
BITFIELD(LATHE_TYPE_PROTOLATHE),
BITFIELD(LATHE_TYPE_CIRCUIT),
BITFIELD(LATHE_TYPE_PROSTHETICS),
BITFIELD(LATHE_TYPE_MECHA),
BITFIELD(LATHE_TYPE_BIOPRINTER),
))

//? design_unlock bitfield

/// any lathe that can print us should have us always
Expand Down Expand Up @@ -103,3 +85,56 @@ DEFINE_BITFIELD(design_flags, list(
//science subcategories
#define DESIGN_SUBCATEGORY_XENOBIOLOGY "Xenobiology"
#define DESIGN_SUBCATEGORY_XENOARCHEOLOGY "Xenoarcheology"

//* Design Helpers - Generic *//

/**
* Generate a design for an entity.
*
* * Design path is appended to 1/datum/prototype/design/generated`.
*/
#define GENERATE_DESIGN(ENTITY_PATH, DESIGN_PATH, DESIGN_ID) \
/datum/prototype/design/generated##DESIGN_PATH { \
id = DESIGN_ID; \
build_path = ENTITY_PATH; \
}; \
/datum/prototype/design/generated##DESIGN_PATH

//* Design Helpers - For a specific lathe *//

/**
* Generates for all lathes.
*/
#define GENERATE_DESIGN_FOR_AUTOLATHE(ENTITY_PATH, DESIGN_PATH, DESIGN_ID) \
GENERATE_DESIGN(ENTITY_PATH, DESIGN_PATH, DESIGN_ID); \
/datum/prototype/design/generated##DESIGN_PATH { \
lathe_type = LATHE_TYPE_AUTOLATHE; \
}; \
/datum/prototype/design/generated##DESIGN_PATH

/**
* Generates for Nanotrasen-standard autolathes. In the future, we might have flags
* for what factions get it automatically.
*/
#define GENERATE_DESIGN_FOR_PROTOLATHE(ENTITY_PATH, DESIGN_PATH, DESIGN_ID) \
GENERATE_DESIGN(ENTITY_PATH, DESIGN_PATH, DESIGN_ID); \
/datum/prototype/design/generated##DESIGN_PATH { \
lathe_type = LATHE_TYPE_PROTOLATHE; \
}; \
/datum/prototype/design/generated##DESIGN_PATH

//* Design Helpers - For a specific lathe & faction *//

/**
* Generates for Nanotrasen-standard autolathes. In the future, we might have flags
* for what factions get it automatically.
*/
#define GENERATE_DESIGN_FOR_NT_AUTOLATHE(ENTITY_PATH) \
GENERATE_DESIGN_FOR_AUTOLATHE(ENTITY_PATH, DESIGN_PATH, DESIGN_ID)

/**
* Generates for Nanotrasen-standard autolathes. In the future, we might have flags
* for what factions get it automatically.
*/
#define GENERATE_DESIGN_FOR_NT_PROTOLATHE(ENTITY_PATH) \
GENERATE_DESIGN_FOR_PROTOLATHE(ENTITY_PATH, DESIGN_PATH, DESIGN_ID)
37 changes: 37 additions & 0 deletions code/__DEFINES/dcs/signals/items/signals_gun.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
//* This file is explicitly licensed under the MIT license. *//
//* Copyright (c) 2024 Citadel Station Developers *//

//* Firing Cycles *//

/**
* Called before initiation of a firing cycle, with (datum/gun_firing_cycle/cycle).
*/
#define COMSIG_GUN_FIRING_CYCLE_START "gun-firing-start"

/**
* Called on end of a firing cycle, with (datum/gun_firing_cycle/cycle).
*/
#define COMSIG_GUN_FIRING_CYCLE_END "gun-firing-end"

//* Fire() Injections *//

/**
* Signature: (datum/gun_firing_cycle/cycle)
* * Raised before every fire() call.
*/
#define COMSIG_GUN_FIRING_PREFIRE "gun-firing-prefire"

/**
* Signature: (datum/gun_firing_cycle/cycle, obj/projectile/proj)
* * Raised before every fire() call, after consume_next_projectile().
* * Only valid on /obj/item/gun/projectile
* * This happens after the nominal PNR, so anything like energy drains and whatnot would have already
* been done by now. Keep that in mind.
*/
#define COMSIG_GUN_FIRING_PROJECTILE_INJECTION "gun-firing-projectile"

/**
* Signature: (datum/gun_firing_cycle/cycle)
* * Raised after every fire() call, before post_fire().
*/
#define COMSIG_GUN_FIRING_POSTFIRE "gun-firing-postfire"
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//* This file is explicitly licensed under the MIT license. *//
//* Copyright (c) Citadel Station Developers *//
//* Copyright (c) 2024 Citadel Station Developers *//

// todo: integrity signals?

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
//* This file is explicitly licensed under the MIT license. *//
//* Copyright (c) 2024 silicons *//
//* Copyright (c) 2024 Citadel Station Developers *//

/// From base of obj/item/attack_self(): (/datum/event_args/actor/actor)
#define COMSIG_ITEM_ACTIVATE_INHAND "item_activate_inhand"
#define RAISE_ITEM_ACTIVATE_INHAND_HANDLED (1<<0)
/// From base of obj/item/unique_action(): (/datum/event_args/actor/actor)
#define COMSIG_ITEM_UNIQUE_ACTION "item_unique_action"
#define RAISE_ITEM_UNIQUE_ACTION_HANDLED (1<<0)
/// From base of obj/item/defensive_toggle(): (/datum/event_args/actor/actor)
#define COMSIG_ITEM_DEFENSIVE_TOGGLE "item_defensive_toggle"
#define RAISE_ITEM_DEFENSIVE_TOGGLE_HANDLED (1<<0)
/// From base of obj/item/defensive_trigger(): (/datum/event_args/actor/actor)
#define COMSIG_ITEM_DEFENSIVE_TRIGGER "item_defensive_trigger"
#define RAISE_ITEM_DEFENSIVE_TRIGGER_HANDLED (1<<0)
20 changes: 20 additions & 0 deletions code/__DEFINES/machines/lathe.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
//* This file is explicitly licensed under the MIT license. *//
//* Copyright (c) 2024 Citadel Station Developers *//

//? lathe_type bitfield

#define LATHE_TYPE_AUTOLATHE (1<<0)
#define LATHE_TYPE_PROTOLATHE (1<<1)
#define LATHE_TYPE_CIRCUIT (1<<2)
#define LATHE_TYPE_PROSTHETICS (1<<3)
#define LATHE_TYPE_MECHA (1<<4)
#define LATHE_TYPE_BIOPRINTER (1<<5)

DEFINE_BITFIELD(lathe_type, list(
BITFIELD(LATHE_TYPE_AUTOLATHE),
BITFIELD(LATHE_TYPE_PROTOLATHE),
BITFIELD(LATHE_TYPE_CIRCUIT),
BITFIELD(LATHE_TYPE_PROSTHETICS),
BITFIELD(LATHE_TYPE_MECHA),
BITFIELD(LATHE_TYPE_BIOPRINTER),
))
Loading
Loading