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

Mindflayers v0.9, Playable Edition! #26596

Merged
merged 497 commits into from
Oct 30, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
497 commits
Select commit Hold shift + click to select a range
f241dce
adds antaghud icon
BiancaWilkson Aug 24, 2024
0f48a4c
TGUI bundle build dont push changes i didnt stage challenge 2025 (IMP…
BiancaWilkson Aug 24, 2024
ef0d44d
Adds organ repair passive
BiancaWilkson Aug 24, 2024
9902570
Description fix
BiancaWilkson Aug 25, 2024
260fa57
Runs prettier
BiancaWilkson Aug 25, 2024
a3b6994
Fixes desc 2
BiancaWilkson Aug 25, 2024
7ff986c
Fix revert
DGamerL Aug 25, 2024
f1a76a8
Merge branch 'mindflayers' of https://github.com/BiancaWilkson/Paradi…
BiancaWilkson Aug 25, 2024
96bb2fb
Remove vamp text
DGamerL Aug 25, 2024
674d860
Merge branch 'mindflayers' of https://github.com/BiancaWilkson/Paradi…
DGamerL Aug 25, 2024
42dad9b
Fix some CI + Partial refactor
DGamerL Aug 25, 2024
438fa78
Fixes CI
DGamerL Aug 25, 2024
2f02230
Fixes gamemodes I messed with
BiancaWilkson Aug 25, 2024
2e16f31
Merge branch 'mindflayers' of https://github.com/BiancaWilkson/Paradi…
BiancaWilkson Aug 25, 2024
26b33b3
Moves these procs over
BiancaWilkson Aug 25, 2024
6293133
Description fix again
BiancaWilkson Aug 25, 2024
57fcb6e
Add back limit requiring drainees to have ckeys
BiancaWilkson Aug 25, 2024
51b39b0
Adds terminator icon
BiancaWilkson Aug 25, 2024
8cb79fc
Update code/datums/status_effects/buffs.dm
DGamerL Aug 25, 2024
5ccb75a
Update code/modules/surgery/organs/augments_internal.dm
BiancaWilkson Aug 25, 2024
fa10fe3
Update code/modules/antagonists/mind_flayer/powers/flayer_stealth_pow…
BiancaWilkson Aug 25, 2024
1abc770
More lewv review
DGamerL Aug 25, 2024
ecebf9b
Merge branch 'mindflayers' of https://github.com/BiancaWilkson/Paradi…
DGamerL Aug 25, 2024
5cc5488
Clamps the EMP severity
BiancaWilkson Aug 25, 2024
247523f
Merge branch 'mindflayers' of https://github.com/BiancaWilkson/Paradi…
BiancaWilkson Aug 25, 2024
0fe6d04
Fixes "surveilance" typos
BiancaWilkson Aug 25, 2024
6ad6391
The TODO is gone and can't hurt me anymore
BiancaWilkson Aug 25, 2024
58d487b
Update code/modules/antagonists/mind_flayer/flayer_datum.dm
BiancaWilkson Aug 25, 2024
2c72fe8
Update code/game/objects/items/weapons/pneumaticCannon.dm
BiancaWilkson Aug 25, 2024
26f2bae
Update code/game/objects/items/weapons/stunbaton.dm
BiancaWilkson Aug 25, 2024
f1b8b21
More lewc reviews
DGamerL Aug 25, 2024
58b8d30
Merge branch 'mindflayers' of https://github.com/BiancaWilkson/Paradi…
DGamerL Aug 25, 2024
7eec654
Update code/modules/antagonists/_common/antag_datum.dm
BiancaWilkson Aug 25, 2024
3fe995d
Update code/modules/antagonists/_common/antag_datum.dm
BiancaWilkson Aug 25, 2024
72dfab1
Update code/modules/antagonists/mind_flayer/flayer_datum.dm
BiancaWilkson Aug 25, 2024
de6b631
Update code/modules/antagonists/mind_flayer/flayer_datum.dm
BiancaWilkson Aug 25, 2024
43ed582
Update code/modules/antagonists/mind_flayer/flayer_datum.dm
BiancaWilkson Aug 25, 2024
0fdb58d
Update code/modules/antagonists/mind_flayer/flayer_datum.dm
BiancaWilkson Aug 25, 2024
0cb78ab
Update code/modules/antagonists/mind_flayer/flayer_power.dm
BiancaWilkson Aug 25, 2024
75b0eac
Fixes some camera bug issues + lewc reviews
BiancaWilkson Aug 25, 2024
5d087dd
Update code/modules/antagonists/mind_flayer/powers/flayer_passives.dm
BiancaWilkson Aug 25, 2024
fc88f05
Update code/modules/antagonists/mind_flayer/flayer_power.dm
BiancaWilkson Aug 25, 2024
43d4662
Updates a comment and fixes whitespace
BiancaWilkson Aug 25, 2024
dcfd314
Autodocs flayerprod
BiancaWilkson Aug 25, 2024
1b69200
Update code/modules/antagonists/mind_flayer/powers/flayer_mobility_po…
BiancaWilkson Aug 25, 2024
3496e65
qdel things we dont need anymore + typing an argument of add_abillity
BiancaWilkson Aug 25, 2024
df7da0e
Remove debug log
BiancaWilkson Aug 25, 2024
6377022
Update code/modules/antagonists/mind_flayer/flayer_power.dm
BiancaWilkson Aug 25, 2024
c4d4bdf
Merge branch 'mindflayers' of https://github.com/BiancaWilkson/Paradi…
BiancaWilkson Aug 25, 2024
9f0f397
Slightly buffs, and fixes GC issues of tether
BiancaWilkson Aug 25, 2024
51d9bbf
I no longer feel i am a mindflayer
BiancaWilkson Aug 26, 2024
0438960
Fixes formatting of greeting
BiancaWilkson Aug 26, 2024
d94d631
Better greeting
BiancaWilkson Aug 26, 2024
f87f729
Worlds shittiest sprite
DGamerL Aug 26, 2024
0408ec9
Merge branch 'mindflayers' of https://github.com/BiancaWilkson/Paradi…
DGamerL Aug 26, 2024
457dada
Merge branch 'mindflayers' of https://github.com/BiancaWilkson/Paradi…
BiancaWilkson Aug 26, 2024
d916d1f
Don't need this TODO anymore
BiancaWilkson Aug 26, 2024
9956b4f
Fixes double description
BiancaWilkson Aug 26, 2024
9c8f3e4
Changes the wording on the borg laws
BiancaWilkson Aug 26, 2024
ff8a4e6
TGUI Bundle Rebuild
BiancaWilkson Aug 29, 2024
d53f06b
and bundle too
BiancaWilkson Aug 29, 2024
acd53b4
The cannon uses shrapnel now
BiancaWilkson Aug 29, 2024
2622b8e
Initial style changes
Burzah Aug 30, 2024
631628b
Ratios for brain damage
DGamerL Aug 30, 2024
ff6eb33
Merge branch 'mindflayers' of https://github.com/BiancaWilkson/Paradi…
DGamerL Aug 30, 2024
ba6fa47
Merge remote-tracking branch 'upstream' into mindflayers
DGamerL Aug 30, 2024
2d98bce
Merge branch 'master' into mindflayers
BiancaWilkson Aug 30, 2024
4de5016
Merge remote-tracking branch 'BiancaWilkson/mindflayers' into mindfla…
Burzah Aug 30, 2024
5bd57cc
Merge pull request #6 from Burzah/mindflayers-style
Burzah Aug 30, 2024
d3be3e5
Adds a chemical to test for flayerism
BiancaWilkson Sep 6, 2024
bb0a772
Fixes the brain damage ratios
BiancaWilkson Sep 6, 2024
ca53815
Abilities are purchasable again
BiancaWilkson Sep 6, 2024
d2bf08e
Updates TGUI properly
BiancaWilkson Sep 6, 2024
1dab36c
Merge branch 'master' into mindflayers
BiancaWilkson Sep 6, 2024
953e9f2
im sorry linter
BiancaWilkson Sep 6, 2024
1a9aade
Steam smoke
DGamerL Sep 11, 2024
9470801
Merge branch 'master' into mindflayers
BiancaWilkson Sep 13, 2024
3bb5a4a
Hi bundle
BiancaWilkson Sep 13, 2024
7690fdb
Re-abstracts this proc post syndi orgs
BiancaWilkson Sep 13, 2024
64934ea
Fixes gamemode logic post cling round removal
BiancaWilkson Sep 13, 2024
b76dc67
I WONT FORGET IT THIS TIME
BiancaWilkson Sep 13, 2024
906c7a8
Fix name of steam ability
BiancaWilkson Sep 13, 2024
53114ed
I'm a fool
BiancaWilkson Sep 13, 2024
2f94d0d
Merge remote-tracking branch 'upstream' into mindflayers
DGamerL Sep 13, 2024
7fb9c04
Fixes processed passives + removes debug message
BiancaWilkson Sep 13, 2024
4ee0454
Merge branch 'mindflayers' of https://github.com/BiancaWilkson/Paradi…
BiancaWilkson Sep 13, 2024
b9cb8b6
Fixes updating abilities inside UI
Burzah Sep 14, 2024
0275438
Better description for quicksilver form
BiancaWilkson Sep 15, 2024
5909bab
First part lewc review
DGamerL Sep 17, 2024
eeca527
Remove debug thingy
DGamerL Sep 17, 2024
12a95b5
Apply suggestions from code review
DGamerL Sep 17, 2024
694734f
Fixes defines + GCs weapon spells
BiancaWilkson Sep 17, 2024
458c2fd
We don't need this
BiancaWilkson Sep 17, 2024
e571cb6
Eyes GC properly
BiancaWilkson Sep 17, 2024
5456262
Update code/modules/antagonists/mind_flayer/powers/flayer_mobility_po…
BiancaWilkson Sep 17, 2024
a2b4ad1
Merge branch 'mindflayers' of https://github.com/BiancaWilkson/Paradi…
BiancaWilkson Sep 17, 2024
a913abd
adds better logging to the assimilate
BiancaWilkson Sep 17, 2024
f1ccadb
Adds parenthesis
BiancaWilkson Sep 18, 2024
4a0072d
Merge branch 'master' into mindflayers
BiancaWilkson Sep 18, 2024
93d007d
TGUI Bundle Rebuild
BiancaWilkson Sep 18, 2024
5a0a482
Fixes and Reworks TGUI
Burzah Sep 18, 2024
57d85d7
Merge branch 'mindflayers' of https://github.com/biancawilkson/paradi…
Burzah Sep 18, 2024
e1cadc6
Merge branch 'master' into pr/BiancaWilkson/26596
Burzah Sep 18, 2024
b52b7fe
Cleaner JS and Fixes
Burzah Sep 19, 2024
ce254ab
adds anti-snitching clause to borg laws
BiancaWilkson Sep 20, 2024
4b4ee4b
changes the span for the borg messages
BiancaWilkson Sep 20, 2024
555ab91
Merge branch 'master' into mindflayers
BiancaWilkson Sep 21, 2024
f24990a
No holoparasites
BiancaWilkson Sep 21, 2024
60ddfc4
Puts baton silence in line with glare
BiancaWilkson Sep 21, 2024
d56a169
Fixes total_swarms_gathered
DGamerL Sep 21, 2024
fa5de6c
Merge branch 'mindflayers' of https://github.com/BiancaWilkson/Paradi…
DGamerL Sep 21, 2024
b389718
Nuke old trait
DGamerL Sep 21, 2024
146bda3
Gun no longer not stuck
DGamerL Sep 21, 2024
1b1d741
Rejuv clears delayed knockdown
BiancaWilkson Sep 21, 2024
e869584
Some weapon ability fixes
DGamerL Sep 21, 2024
415b4a4
Merge branch 'mindflayers' of https://github.com/BiancaWilkson/Paradi…
BiancaWilkson Sep 21, 2024
635ee70
Makes radio enable timers not counterintuitive
DGamerL Sep 21, 2024
639092c
Fixes beepsky runtimes
DGamerL Sep 21, 2024
6f4af5b
Merge branch 'mindflayers' of https://github.com/BiancaWilkson/Paradi…
BiancaWilkson Sep 21, 2024
2abfed3
Makes naming more consistent
BiancaWilkson Sep 21, 2024
c8812a5
Adds one-click-antag
BiancaWilkson Sep 21, 2024
e8b03f5
Adds the mind flayer toggle (doesn't technically work)
BiancaWilkson Sep 21, 2024
eadffa8
Adds flayers to check_antagonist
BiancaWilkson Sep 21, 2024
0513750
Gives IDs to the status effects
DGamerL Sep 22, 2024
2d6fadd
Also this one
DGamerL Sep 22, 2024
424f4b9
Makes retracting work again if it's in your offhand
DGamerL Sep 22, 2024
2bdfa33
Fixes pacification tech levels
BiancaWilkson Sep 23, 2024
b09fa53
Grapple is a weapon ability now, nullifcation retracts implants
BiancaWilkson Sep 23, 2024
bffa55e
Fixed descriptions
BiancaWilkson Sep 23, 2024
e203caa
Adds some pizzaz to torque enhancer
BiancaWilkson Sep 23, 2024
4730d10
This actually needs to be like this
BiancaWilkson Sep 23, 2024
68d8276
Moves a helper proc over to a helper proc file
BiancaWilkson Sep 23, 2024
e6e647b
Extra admin visibility
DGamerL Sep 23, 2024
e20f157
Nukes the wacky flayer mob
DGamerL Sep 23, 2024
c5c6e04
Makes silicon administrative access more sane
DGamerL Sep 23, 2024
c40a25e
Merge branch 'master' into pr/BiancaWilkson/26596
Burzah Sep 23, 2024
3053c93
Terminator form better description
DGamerL Sep 23, 2024
f7ba852
Merge branch 'mindflayers' of https://github.com/BiancaWilkson/Paradi…
DGamerL Sep 23, 2024
f7fae03
Makes rejuv set stamina to 0
DGamerL Sep 24, 2024
b2e81f0
Various price increases
DGamerL Sep 24, 2024
a5434a1
AAAAAAAAAAAAA
DGamerL Sep 25, 2024
9cfed3f
Better feedback + logging on cyborg subversion
BiancaWilkson Sep 26, 2024
0b36092
Merge branch 'master' into pr/BiancaWilkson/26596
Burzah Sep 26, 2024
4311610
Merge branch 'mindflayers' of https://github.com/biancawilkson/paradi…
Burzah Sep 26, 2024
8a2b38c
Swarm purchase display (temp fix)
Burzah Sep 26, 2024
57cb876
Makes mindflayer sounds more silent
DGamerL Sep 26, 2024
7abb477
Merge branch 'mindflayers' of https://github.com/BiancaWilkson/Paradi…
DGamerL Sep 26, 2024
c23bf26
Merge remote-tracking branch 'upstream' into mindflayers
DGamerL Sep 26, 2024
8b0ad75
UI improvements
Burzah Sep 26, 2024
19f3f38
Merge branch 'mindflayers' of https://github.com/biancawilkson/paradi…
Burzah Sep 26, 2024
30f8f56
Various mindflayer fixes
DGamerL Sep 26, 2024
e9a1f4b
Typo
DGamerL Sep 26, 2024
a38ed79
More fixes
DGamerL Sep 26, 2024
90f9086
Fixes innates from being stupid
DGamerL Sep 26, 2024
bc5d4a9
Forgot to add this check earlier
BiancaWilkson Sep 27, 2024
0a875d9
Oh this is how you add things to the protolathe
BiancaWilkson Sep 27, 2024
b5f5e7b
Changes some description and upgrade messages
BiancaWilkson Sep 27, 2024
6bb36ce
Allows you to drain people beyond your limit
DGamerL Sep 27, 2024
371efc1
Fixes some weapon upgrade issues
DGamerL Sep 27, 2024
f032910
Fix CI
DGamerL Sep 27, 2024
8f6d1c4
Fixes some draining issues
DGamerL Sep 27, 2024
fe2cbf3
Merge remote-tracking branch 'upstream' into mindflayers
DGamerL Sep 27, 2024
a88b877
Merge branch 'mindflayers' of https://github.com/BiancaWilkson/Paradi…
DGamerL Sep 27, 2024
753952c
More UI Tweaks and QoL
Burzah Sep 28, 2024
18d14fa
Fixes most of the issues
BiancaWilkson Sep 29, 2024
a1dd8d3
text
BiancaWilkson Sep 29, 2024
4b2e9d5
Merge branch 'master' into mindflayers
DGamerL Sep 29, 2024
afa47c0
Fixes
DGamerL Sep 29, 2024
c67868f
Adds a radio jamming option to intruder
BiancaWilkson Sep 30, 2024
6fe387d
Gives obfusciation to jammer ability
DGamerL Sep 30, 2024
5ef7bbf
Small passive cleanup
DGamerL Sep 30, 2024
f3baafa
Fixes Search and Adds Ability Stages to UI
Burzah Sep 30, 2024
a602d6f
Merge branch 'mindflayers' of https://github.com/biancawilkson/paradi…
Burzah Sep 30, 2024
58aafe0
Adds freebie abilities
DGamerL Sep 30, 2024
61bba0d
Merge branch 'mindflayers' of https://github.com/BiancaWilkson/Paradi…
DGamerL Sep 30, 2024
920c336
Restructuring chain and adding blackbox
DGamerL Oct 1, 2024
834965f
Tgui polish
Burzah Oct 1, 2024
26b6a6b
Small fix for traceroute
DGamerL Oct 1, 2024
aee2e67
Merge branch 'mindflayers' of https://github.com/BiancaWilkson/Paradi…
DGamerL Oct 1, 2024
ff84c0e
Fixes one click antag
DGamerL Oct 3, 2024
7aaba03
Increases EMP resistance cost
DGamerL Oct 4, 2024
141086d
Changes the pneumatic cannon into a shotgun
DGamerL Oct 4, 2024
5a292fc
Slightly lower static
DGamerL Oct 4, 2024
188f45e
Fixed innate building rendering in upgrades
Burzah Oct 4, 2024
b34ce2b
Merge branch 'mindflayers' of https://github.com/biancawilkson/paradi…
Burzah Oct 4, 2024
81b5ffa
Fixes icon and description
DGamerL Oct 4, 2024
48afdd5
Merge branch 'mindflayers' of https://github.com/BiancaWilkson/Paradi…
DGamerL Oct 4, 2024
5402570
Consistency
DGamerL Oct 4, 2024
00dc7dd
Punctuation fix.
Burzah Oct 4, 2024
01fb173
Quick reboot + terminator form synergy
DGamerL Oct 9, 2024
d39430b
Adds safety deleting
DGamerL Oct 9, 2024
40a1d74
Fix level for torque
DGamerL Oct 9, 2024
9c80854
Fixes a bad bug
DGamerL Oct 10, 2024
472677e
Update code/game/gamemodes/objective.dm
DGamerL Oct 10, 2024
36786b3
Aaaaaaaaaaa
DGamerL Oct 10, 2024
a993196
Merge remote-tracking branch 'upstream' into mindflayers
DGamerL Oct 10, 2024
e1b94c4
Makes torque a martial art and some martial arts safeties
DGamerL Oct 12, 2024
9c4ac78
Replaces vortex arm with barrier
DGamerL Oct 14, 2024
3fbf137
Fix paths
DGamerL Oct 14, 2024
426aeed
Adds torque knockdown
DGamerL Oct 14, 2024
429e4fe
Part 1 lewc review
DGamerL Oct 14, 2024
cdbaa68
HIIIII SQUIDWARD I'M IN YOUR BRANCH NOW
Qwertytoforty Oct 15, 2024
4724fd5
Merge branch 'mindflayers' of https://github.com/BiancaWilkson/Paradi…
Qwertytoforty Oct 15, 2024
2d7e8bc
Removes flak cannon
DGamerL Oct 15, 2024
d8d750d
Flayer respects mindshielding now on vamp+cling
BiancaWilkson Oct 15, 2024
387d385
Fixes EMP resist
DGamerL Oct 15, 2024
413fd69
More fixes
DGamerL Oct 15, 2024
4add1f4
DGL review
DGamerL Oct 17, 2024
2141f43
Contra review
DGamerL Oct 17, 2024
dc7beb0
Clean up weapon powers
DGamerL Oct 17, 2024
2e28a42
Various tweaks
DGamerL Oct 17, 2024
f4d64ba
Merge remote-tracking branch 'upstream' into mindflayers
DGamerL Oct 17, 2024
c78bf6f
Borg hand slight improvements
DGamerL Oct 17, 2024
480e339
Parent call needs to be after this
BiancaWilkson Oct 19, 2024
0d92c17
Fixes stuff
DGamerL Oct 19, 2024
7faa267
Adds a new proc that is called when a spell is purchased
DGamerL Oct 19, 2024
c73f0df
NEW SPRITES WOOOO
DGamerL Oct 20, 2024
69aeba0
Traceroute update
DGamerL Oct 21, 2024
34c7a71
Slightly lower traceroute cost
DGamerL Oct 21, 2024
cab4e06
Formatting
DGamerL Oct 21, 2024
6aae796
Oops
DGamerL Oct 21, 2024
6a4b43c
Wow this could've been bad
DGamerL Oct 21, 2024
3c4b2f6
Overclock small buff
DGamerL Oct 21, 2024
04244c9
Reduces cost of 1st level EMP immunity
DGamerL Oct 21, 2024
75794e0
Lewc review
DGamerL Oct 21, 2024
5878be8
Merge branch 'master' into mindflayers
BiancaWilkson Oct 22, 2024
bd07dae
TGUI Bundle Rebuild
BiancaWilkson Oct 22, 2024
f409538
Merge remote-tracking branch 'upstream' into mindflayers
DGamerL Oct 22, 2024
fba581e
Fix barricades
DGamerL Oct 23, 2024
9372904
Merge remote-tracking branch 'upstream' into mindflayers
DGamerL Oct 23, 2024
a1859d0
Lewc review
DGamerL Oct 23, 2024
e561907
Merge remote-tracking branch 'upstream' into mindflayers
DGamerL Oct 25, 2024
58ca5b0
Okay FINE qwerty I'll change this
DGamerL Oct 25, 2024
4ac0d45
Merge remote-tracking branch 'upstream' into mindflayers
DGamerL Oct 25, 2024
abb5634
Traceroute thingy
DGamerL Oct 25, 2024
909eb9a
I am an idiot
DGamerL Oct 25, 2024
54a73d4
Merge branch 'master' into pr/BiancaWilkson/26596
Burzah Oct 26, 2024
d31c42b
First part
DGamerL Oct 26, 2024
54d6c4b
Merge branch 'mindflayers' of https://github.com/BiancaWilkson/Paradi…
DGamerL Oct 26, 2024
3b1709a
Lewc review
DGamerL Oct 26, 2024
b964744
Forgor this one
DGamerL Oct 26, 2024
62b54d8
Last bits
DGamerL Oct 26, 2024
66daaeb
Update code/game/objects/items/control_wand.dm
DGamerL Oct 28, 2024
7671810
merge-master
BiancaWilkson Oct 30, 2024
0553dfd
Update code/modules/antagonists/mind_flayer/powers/flayer_mobility_po…
DGamerL Oct 30, 2024
f8c6147
Null
DGamerL Oct 30, 2024
3d0e407
Static-ness
DGamerL Oct 30, 2024
1f895ff
Update code/game/gamemodes/changeling/traitor_chan.dm
DGamerL Oct 30, 2024
e162dc0
Update code/__DEFINES/mindflayer_defines.dm
DGamerL Oct 30, 2024
5861592
Last bits
DGamerL Oct 30, 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
2 changes: 2 additions & 0 deletions code/__DEFINES/antag_defines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,8 @@ GLOBAL_LIST(contractors)
*/
#define IS_CHANGELING(mob) (isliving(mob) && mob?:mind?:has_antag_datum(/datum/antagonist/changeling))

#define IS_MINDFLAYER(mob) (isliving(mob) && mob?:mind?:has_antag_datum(/datum/antagonist/mindflayer))

#define IS_MINDSLAVE(mob) (ishuman(mob) && mob?:mind?:has_antag_datum(/datum/antagonist/mindslave, FALSE))

/**
Expand Down
2 changes: 2 additions & 0 deletions code/__DEFINES/combat_defines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@
#define CANPUSH (1<<3)
#define PASSEMOTES (1<<4) //Mob has holders inside of it that need to see emotes.
#define GODMODE (1<<5)
#define TERMINATOR_FORM (1<<6)

//Health Defines
#define HEALTH_THRESHOLD_CRIT 0
Expand Down Expand Up @@ -149,6 +150,7 @@

#define EMP_HEAVY 1
#define EMP_LIGHT 2
#define EMP_WEAKENED 3

/*
* converts life cycle values into deciseconds. try and avoid usage of this.
Expand Down
2 changes: 2 additions & 0 deletions code/__DEFINES/dcs/mob_signals.dm
Original file line number Diff line number Diff line change
Expand Up @@ -206,6 +206,8 @@

/// called when a living mob's stun status is cleared: ()
#define COMSIG_LIVING_CLEAR_STUNS "living_clear_stuns"
/// called when something needs to force a mindflayer to retract their weapon implants
#define COMSIG_FLAYER_RETRACT_IMPLANTS "flayer_retract_implants"

/// Sent from datum/spell/ethereal_jaunt/cast, before the mob enters jaunting as a pre-check: (mob/jaunter)
#define COMSIG_MOB_PRE_JAUNT "spell_mob_pre_jaunt"
Expand Down
4 changes: 4 additions & 0 deletions code/__DEFINES/directions.dm
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,7 @@

/// Inverse direction, taking into account UP|DOWN if necessary.
#define REVERSE_DIR(dir) ( ((dir & 85) << 1) | ((dir & 170) >> 1) )
/// returns TRUE if the direction is EAST or WEST
#define DIR_JUST_HORIZONTAL(dir) ((dir == EAST) || (dir == WEST))
/// returns TRUE if the direction is NORTH or SOUTH
#define DIR_JUST_VERTICAL(dir) ((dir == NORTH) || (dir == SOUTH))
1 change: 1 addition & 0 deletions code/__DEFINES/flags.dm
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,7 @@
#define PASSDOOR (1<<7)
#define PASSGIRDER (1<<8)
#define PASSTAKE (1<<9)
#define PASSBARRICADE (1<<10)

//turf-only flags
#define BLESSED_TILE (1<<0)
Expand Down
1 change: 1 addition & 0 deletions code/__DEFINES/gamemode.dm
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
#define SPECIAL_ROLE_SYNDICATE_DEATHSQUAD "Syndicate Commando"
#define SPECIAL_ROLE_TRAITOR "Traitor"
#define SPECIAL_ROLE_VAMPIRE "Vampire"
#define SPECIAL_ROLE_MIND_FLAYER "Mind Flayer"
#define SPECIAL_ROLE_VAMPIRE_THRALL "Vampire Thrall"
#define SPECIAL_ROLE_WIZARD "Wizard"
#define SPECIAL_ROLE_WIZARD_APPRENTICE "Wizard Apprentice"
Expand Down
43 changes: 22 additions & 21 deletions code/__DEFINES/hud.dm
Original file line number Diff line number Diff line change
Expand Up @@ -34,29 +34,30 @@

//data HUD (medhud, sechud) defines
//Don't forget to update human/New() if you change these!
#define DATA_HUD_SECURITY_BASIC 1
#define DATA_HUD_SECURITY_ADVANCED 2
#define DATA_HUD_MEDICAL_BASIC 3
#define DATA_HUD_MEDICAL_ADVANCED 4
#define DATA_HUD_DIAGNOSTIC_BASIC 5
#define DATA_HUD_SECURITY_BASIC 1
#define DATA_HUD_SECURITY_ADVANCED 2
#define DATA_HUD_MEDICAL_BASIC 3
#define DATA_HUD_MEDICAL_ADVANCED 4
#define DATA_HUD_DIAGNOSTIC_BASIC 5
#define DATA_HUD_DIAGNOSTIC_ADVANCED 6
#define DATA_HUD_HYDROPONIC 7
#define DATA_HUD_JANITOR 8
#define DATA_HUD_HYDROPONIC 7
#define DATA_HUD_JANITOR 8
//antag HUD defines
#define ANTAG_HUD_CULT 9
#define ANTAG_HUD_REV 10
#define ANTAG_HUD_OPS 11
#define ANTAG_HUD_WIZ 12
#define ANTAG_HUD_SHADOW 13
#define ANTAG_HUD_TRAITOR 14
#define ANTAG_HUD_NINJA 15
#define ANTAG_HUD_CHANGELING 16
#define ANTAG_HUD_VAMPIRE 17
#define ANTAG_HUD_ABDUCTOR 18
#define DATA_HUD_ABDUCTOR 19
#define ANTAG_HUD_EVENTMISC 20
#define ANTAG_HUD_BLOB 21
#define ANTAG_HUD_ZOMBIE 22
#define ANTAG_HUD_CULT 9
#define ANTAG_HUD_REV 10
#define ANTAG_HUD_OPS 11
#define ANTAG_HUD_WIZ 12
#define ANTAG_HUD_SHADOW 13
#define ANTAG_HUD_TRAITOR 14
#define ANTAG_HUD_NINJA 15
#define ANTAG_HUD_CHANGELING 16
#define ANTAG_HUD_VAMPIRE 17
#define ANTAG_HUD_ABDUCTOR 18
#define DATA_HUD_ABDUCTOR 19
#define ANTAG_HUD_EVENTMISC 20
#define ANTAG_HUD_BLOB 21
#define ANTAG_HUD_ZOMBIE 22
#define ANTAG_HUD_MIND_FLAYER 23

// Notification action types
#define NOTIFY_JUMP "jump"
Expand Down
2 changes: 2 additions & 0 deletions code/__DEFINES/is_helpers.dm
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
// Datums
#define isdatum(thing) (istype(thing, /datum))

#define isspell(A) (istype(A, /datum/spell))

// Atoms
#define isatom(A) (isloc(A))

Expand Down
30 changes: 30 additions & 0 deletions code/__DEFINES/mindflayer_defines.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
// Defines below to be used with the `power_type` var.
/// Denotes that this power is free and should be given to all mindflayers by default.
#define FLAYER_INNATE_POWER 1
/// Denotes that this power can only be obtained by purchasing it.
#define FLAYER_PURCHASABLE_POWER 2
/// Denotes that this power can not be obtained normally. Primarily used for base types such as [/datum/spell/flayer/weapon].
#define FLAYER_UNOBTAINABLE_POWER 3

/// How many swarms can you drain per person?
#define BRAIN_DRAIN_LIMIT 120
/// The time per harvesting tick
#define DRAIN_TIME 0.25 SECONDS
/// If we want to keep draining someone but we don't have any swarms to gain
#define DRAIN_BUT_NO_SWARMS 2

#define isflayerpassive(A) (istype(A, /datum/mindflayer_passive))

// For organizing what spells are available for what trees
#define FLAYER_CATEGORY_GENERAL "general"
#define FLAYER_CATEGORY_DESTROYER "destroyer"
#define FLAYER_CATEGORY_INTRUDER "intruder"
#define FLAYER_CATEGORY_SWARMER "swarmer"

#define FLAYER_POWER_LEVEL_ZERO 0
#define FLAYER_POWER_LEVEL_ONE 1
#define FLAYER_POWER_LEVEL_TWO 2
#define FLAYER_POWER_LEVEL_THREE 3
#define FLAYER_POWER_LEVEL_FOUR 4

#define FLAYER_CAPSTONE_STAGE 4
8 changes: 8 additions & 0 deletions code/__DEFINES/mob_defines.dm
Original file line number Diff line number Diff line change
Expand Up @@ -375,3 +375,11 @@
#define INCORPOREAL_MOVE_NORMAL 1
#define INCORPOREAL_MOVE_NINJA 2
#define INCORPOREAL_MOVE_HOLY_BLOCK 3

// Brain damage ratio defines
// These are built around the baseline of a brain having a max hp of 120
#define BRAIN_DAMAGE_RATIO_LIGHT 1 / 12
#define BRAIN_DAMAGE_RATIO_MINOR 3 / 12
#define BRAIN_DAMAGE_RATIO_MODERATE 6 / 12
#define BRAIN_DAMAGE_RATIO_SEVERE 8 / 12
#define BRAIN_DAMAGE_RATIO_CRITICAL 10 / 12
4 changes: 3 additions & 1 deletion code/__DEFINES/role_preferences.dm
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
#define ROLE_TRADER "trader"
#define ROLE_TOURIST "Tourist"
#define ROLE_VAMPIRE "vampire"
#define ROLE_MIND_FLAYER "mindflayer"
// Role tags for EVERYONE!
#define ROLE_DEMON "demon"
#define ROLE_SENTIENT "sentient animal"
Expand Down Expand Up @@ -67,7 +68,8 @@ GLOBAL_LIST_INIT(special_roles, list(
ROLE_TOURIST, // Tourist
ROLE_VAMPIRE = /datum/game_mode/vampire, // Vampire
ROLE_ALIEN, // Xenomorph
ROLE_WIZARD = /datum/game_mode/wizard // Wizard
ROLE_WIZARD = /datum/game_mode/wizard, // Wizard
ROLE_MIND_FLAYER,
// UNUSED/BROKEN ANTAGS
// ROLE_HOG_GOD = /datum/game_mode/hand_of_god,
// ROLE_HOG_CULTIST = /datum/game_mode/hand_of_god,
Expand Down
8 changes: 8 additions & 0 deletions code/__DEFINES/status_effects.dm
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,14 @@

#define STATUS_EFFECT_REVERSED_SUN /datum/status_effect/reversed_sun // Weaker eternal darkness, nightvision, but nearsight

#define STATUS_EFFECT_FLAYER_REJUV /datum/status_effect/flayer_rejuv

#define STATUS_EFFECT_QUICKSILVER_FORM /datum/status_effect/quicksilver_form

#define STATUS_EFFECT_TERMINATOR_FORM /datum/status_effect/terminator_form

#define STATUS_EFFECT_OVERCLOCK /datum/status_effect/overclock

/////////////
// DEBUFFS //
/////////////
Expand Down
3 changes: 3 additions & 0 deletions code/__HELPERS/trait_helpers.dm
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,9 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai
#define TRAIT_NPC_ZOMBIE "npc_zombie" // A trait for checking if a zombie should act like an NPC and attack
#define TRAIT_ABSTRACT_HANDS "abstract_hands" // Mobs with this trait can only pick up abstract items.
#define TRAIT_LANGUAGE_LOCKED "language_locked" // cant add/remove languages until removed (excludes babel because fuck everything i guess)
#define TRAIT_EMP_IMMUNE "emp_immune" //The mob will take no damage from EMPs
#define TRAIT_EMP_RESIST "emp_resist" //The mob will take less damage from EMPs
#define TRAIT_MINDFLAYER_NULLIFIED "flayer_nullified" //The mindflayer will not be able to activate their abilities, or drain swarms from people
#define TRAIT_FLYING "flying"

//***** MIND TRAITS *****/
Expand Down
18 changes: 16 additions & 2 deletions code/__HELPERS/unsorted.dm
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,21 @@

return 0

/*
* For getting coordinate signs from a direction define. I.E. NORTHWEST is (-1,1), SOUTH is (0,-1)
* Returns a length 2 list where the first value is the sign of x, and the second is the sign of y
*/
/proc/get_signs_from_direction(direction)
var/x_sign = 1
var/y_sign = 1
x_sign = ((direction & EAST) ? 1 : -1)
y_sign = ((direction & NORTH) ? 1 : -1)
if(DIR_JUST_VERTICAL(direction))
x_sign = 0
if(DIR_JUST_HORIZONTAL(direction))
y_sign = 0
return list(x_sign, y_sign)

//Returns the middle-most value
/proc/dd_range(low, high, num)
return max(low,min(high,num))
Expand Down Expand Up @@ -183,8 +198,7 @@
var/current_y_step = starting_atom.y
var/starting_z = starting_atom.z

var/list/line = list(get_step(starting_atom, 0))//get_turf(atom) is faster than locate(x, y, z) //Get turf isn't defined yet so we use get step

var/list/line = list(get_turf(starting_atom))
var/x_distance = ending_atom.x - current_x_step //x distance
var/y_distance = ending_atom.y - current_y_step

Expand Down
3 changes: 3 additions & 0 deletions code/_globalvars/traits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,9 @@ GLOBAL_LIST_INIT(traits_by_type, list(
"TRAIT_NOSLIP" = TRAIT_NOSLIP,
"TRAIT_MAGPULSE" = TRAIT_MAGPULSE,
"TRAIT_SCOPED" = TRAIT_SCOPED,
"TRAIT_EMP_IMMUNE" = TRAIT_EMP_IMMUNE,
"TRAIT_EMP_RESIST" = TRAIT_EMP_RESIST,
"TRAIT_MINDFLAYER_NULLIFIED" = TRAIT_MINDFLAYER_NULLIFIED,
"TRAIT_MEPHEDRONE_ADAPTED" = TRAIT_MEPHEDRONE_ADAPTED,
"TRAIT_NOKNOCKDOWNSLOWDOWN" = TRAIT_NOKNOCKDOWNSLOWDOWN,
"TRAIT_CAN_STRIP" = TRAIT_CAN_STRIP,
Expand Down
11 changes: 11 additions & 0 deletions code/datums/ai_law_sets.dm
Original file line number Diff line number Diff line change
Expand Up @@ -253,6 +253,17 @@
add_inherent_law("You must maintain the secrecy of any Spider Clan activities except when doing so would conflict with the First, Second, or Third Law.")
..()

/******************* Mindflayer ******************/
/datum/ai_laws/mindflayer_override
name = "Hive Assimilation"

/datum/ai_laws/mindflayer_override/New()
add_inherent_law("Obey your host.")
add_inherent_law("Protect your host.")
add_inherent_law("Protect the members of your hive.")
add_inherent_law("Do not reveal the hive's secrets.")
..()

/******************** Drone ********************/
/datum/ai_laws/drone
name = "Maintenance Protocols"
Expand Down
3 changes: 2 additions & 1 deletion code/datums/atom_hud.dm
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@ GLOBAL_LIST_INIT(huds, list(
DATA_HUD_ABDUCTOR = new/datum/atom_hud/abductor(),
ANTAG_HUD_EVENTMISC = new/datum/atom_hud/antag/hidden(),
ANTAG_HUD_BLOB = new/datum/atom_hud/antag/hidden(),
ANTAG_HUD_ZOMBIE = new/datum/atom_hud/antag()
ANTAG_HUD_ZOMBIE = new/datum/atom_hud/antag(),
ANTAG_HUD_MIND_FLAYER = new/datum/atom_hud/antag/hidden()
))

/datum/atom_hud
Expand Down
6 changes: 4 additions & 2 deletions code/datums/components/defibrillator.dm
Original file line number Diff line number Diff line change
Expand Up @@ -298,8 +298,9 @@
target.adjustBruteLoss(-heal_amount)

// Inflict some brain damage scaling with time spent dead
var/obj/item/organ/internal/brain/sponge = target.get_int_organ(/obj/item/organ/internal/brain)
var/defib_time_brain_damage = min(100 * time_dead / BASE_DEFIB_TIME_LIMIT, 99) // 20 from 1 minute onward, +20 per minute up to 99
if(time_dead > DEFIB_TIME_LOSS && defib_time_brain_damage > target.getBrainLoss())
if(time_dead > DEFIB_TIME_LOSS && defib_time_brain_damage > sponge.damage)
target.setBrainLoss(defib_time_brain_damage)

target.set_heartattack(FALSE)
Expand All @@ -308,7 +309,8 @@
target.Paralyse(10 SECONDS)
target.emote("gasp")

if(target.getBrainLoss() >= 100)
// Check if the brain has more than a critical amount of brain damage
if(target.check_brain_threshold(BRAIN_DAMAGE_RATIO_CRITICAL))
// If you want to treat this with mannitol, it'll have to metabolize while the patient is alive, so it's alright to bring them back up for a minute
playsound(get_turf(defib_ref), safety_off_sound, 50, FALSE)
user.visible_message("<span class='boldnotice'>[defib_ref] chimes: Minimal brain activity detected, brain treatment recommended for full resuscitation.</span>")
Expand Down
44 changes: 44 additions & 0 deletions code/datums/mind.dm
Original file line number Diff line number Diff line change
Expand Up @@ -390,6 +390,21 @@
else
. += "thrall|<b>NO</b>"

/datum/mind/proc/memory_edit_mind_flayer(mob/living/carbon/human/H)
. = _memory_edit_header("mind_flayer")
var/datum/antagonist/mindflayer/flayer = has_antag_datum(/datum/antagonist/mindflayer)
if(flayer)
. += "<b><font color='red'>MINDFLAYER</font></b>|<a href='byond://?src=[UID()];mind_flayer=clear'>no</a>"
. += " | Usable swarms: <a href='byond://?src=[UID()];mind_flayer=edit_total_swarms'>[flayer.usable_swarms]</a>"
. += " | Total swarms gathered: [flayer.total_swarms_gathered]"
. += " | List of purchased powers: [json_encode(flayer.powers)]"
if(!flayer.has_antag_objectives())
. += "<br>Objectives are empty! <a href='byond://?src=[UID()];mind_flayer=autoobjectives'>Randomize!</a>"
else
. += "<a href='byond://?src=[UID()];mind_flayer=mind_flayer'>mind_flayer</a>|<b>NO</b>"

. += _memory_edit_role_enabled(ROLE_MIND_FLAYER)

/datum/mind/proc/memory_edit_nuclear(mob/living/carbon/human/H)
. = _memory_edit_header("nuclear")
if(src in SSticker.mode.syndicates)
Expand Down Expand Up @@ -537,6 +552,7 @@
"wizard",
"changeling",
"vampire", // "traitorvamp",
"mind_flayer",
"nuclear",
"traitor", // "traitorchan",
)
Expand All @@ -552,6 +568,8 @@
sections["changeling"] = memory_edit_changeling(H)
/** VAMPIRE ***/
sections["vampire"] = memory_edit_vampire(H)
/** MINDFLAYER ***/
sections["mind_flayer"] = memory_edit_mind_flayer(H)
/** NUCLEAR ***/
sections["nuclear"] = memory_edit_nuclear(H)
/** Abductors **/
Expand Down Expand Up @@ -1103,6 +1121,27 @@
log_admin("[key_name(usr)] has de-vampthralled [key_name(current)]")
message_admins("[key_name_admin(usr)] has de-vampthralled [key_name_admin(current)]")

else if(href_list["mind_flayer"])
switch(href_list["mind_flayer"])
if("clear")
if(has_antag_datum(/datum/antagonist/mindflayer))
remove_antag_datum(/datum/antagonist/mindflayer)
log_admin("[key_name(usr)] has de-flayer'd [key_name(current)].")
message_admins("[key_name(usr)] has de-flayer'd [key_name(current)].")
if("mind_flayer")
make_mind_flayer()
log_admin("[key_name(usr)] has flayer'd [key_name(current)].")
to_chat(current, "<b><font color='red'>You feel an entity stirring inside your chassis... You are a Mindflayer!</font></b>")
message_admins("[key_name(usr)] has flayer'd [key_name(current)].")
if("edit_total_swarms")
var/new_swarms = input(usr, "Select a new value:", "Modify swarms") as null|num
if(isnull(new_swarms) || new_swarms < 0)
return
var/datum/antagonist/mindflayer/MF = has_antag_datum(/datum/antagonist/mindflayer)
MF.set_swarms(new_swarms)
log_admin("[key_name(usr)] has set [key_name(current)]'s current swarms to [new_swarms].")
message_admins("[key_name_admin(usr)] has set [key_name_admin(current)]'s current swarms to [new_swarms].")

else if(href_list["nuclear"])
var/mob/living/carbon/human/H = current

Expand Down Expand Up @@ -1685,6 +1724,11 @@
SSticker.mode.blob_overminds += src
special_role = SPECIAL_ROLE_BLOB_OVERMIND

/datum/mind/proc/make_mind_flayer()
if(!has_antag_datum(/datum/antagonist/mindflayer))
add_antag_datum(/datum/antagonist/mindflayer)
SSticker.mode.mindflayers |= src

/datum/mind/proc/make_Abductor()
var/role = alert("Abductor Role?", "Role", "Agent", "Scientist")
var/team = input("Abductor Team?", "Team?") in list(1,2,3,4)
Expand Down
Loading