Skip to content
This repository was archived by the owner on May 22, 2025. It is now read-only.

Commit cf137eb

Browse files
Reworks Sleeping Carp (#22373)
* this will need rebalancing * remove debug messages * probably needs this * this should probably add focus too * Update mind_transmutations.dm * Update sleeping_carp.dm * Update sleeping_carp.dm * Update effects.dmi
1 parent 84d9aab commit cf137eb

File tree

16 files changed

+316
-164
lines changed

16 files changed

+316
-164
lines changed

code/__DEFINES/dcs/signals/signals_atom/signals_atom_movable.dm

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,3 +110,6 @@
110110
#define MOVABLE_SAY_QUOTE_MESSAGE 1
111111
#define MOVABLE_SAY_QUOTE_MESSAGE_SPANS 2
112112
#define MOVABLE_SAY_QUOTE_MESSAGE_MODS 3
113+
114+
/// from /datum/thrownthing/tick()
115+
#define COMSIG_MOVABLE_THROW_TICK "movable_throw_tick"

code/__DEFINES/dcs/signals/signals_mob/signals_mob.dm

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,8 @@
8585

8686
///from base of /mob/living/proc/apply_damage(): (damage, damagetype, def_zone, blocked, wound_bonus, bare_wound_bonus, sharpness, attack_direction)
8787
#define COMSIG_MOB_APPLY_DAMAGE "mob_apply_damage"
88+
/// Cancels incoming damage.
89+
#define COMPONENT_NO_APPLY_DAMAGE (1<<0)
8890
///from adjust procs and bodypart heal_damage(): (amount, damtype)
8991
#define COMSIG_MOB_APPLY_HEALING "mob_apply_healing"
9092
///from base of /mob/living/attack_alien(): (user)

code/controllers/subsystem/throwing.dm

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,8 @@ SUBSYSTEM_DEF(throwing)
9494

9595
last_move = world.time
9696

97+
SEND_SIGNAL(AM, COMSIG_MOVABLE_THROW_TICK)
98+
9799
//calculate how many tiles to move, making up for any missed ticks.
98100
var/tilestomove = CEILING(min(((((world.time+world.tick_lag) - start_time + delayed_time) * speed) - (dist_travelled ? dist_travelled : -1)), speed*MAX_TICKS_TO_MAKE_UP) * (world.tick_lag * SSthrowing.wait), 1)
99101
while (tilestomove-- > 0)

code/datums/martial.dm

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,6 @@
1818
///current thing being targetted for combos, switches if the user hits a different opponent
1919
var/current_target
2020
var/datum/martial_art/base // The permanent style. This will be null unless the martial art is temporary
21-
///chance to deflect bullets
22-
var/deflection_chance = 0
23-
///check for if deflected bullets should be destroyed (false) or redirected (true)
24-
var/reroute_deflection = FALSE
2521
///chance for the martial art to block a melee attack when throw is on
2622
var/block_chance = 0
2723
///used for CQC's restrain combo
@@ -40,6 +36,8 @@
4036
var/list/gun_exceptions = list()
4137
///list of traits given to the martial art user
4238
var/list/martial_traits = list()
39+
///the mob that uses this martial art
40+
var/mob/living/martial_owner
4341

4442
/**
4543
* martial art specific disarm attacks
@@ -156,7 +154,7 @@
156154
* gives the user the martial art, if it's a temporary one it will only temporarily override an older martial art rather than replacing it
157155
* unless the current art won't allow a temporary override
158156
*/
159-
/datum/martial_art/proc/teach(mob/living/carbon/human/H,make_temporary=0)
157+
/datum/martial_art/proc/teach(mob/living/carbon/human/H, make_temporary=0)
160158
if(!istype(H) || !H.mind)
161159
return FALSE
162160
if(H.mind.martial_art)
@@ -173,6 +171,7 @@
173171
if(LAZYLEN(martial_traits))
174172
H.add_traits(martial_traits, id)
175173
H.mind.martial_art = src
174+
martial_owner = H
176175
if(no_guns)
177176
for(var/mob/living/simple_animal/hostile/guardian/guardian in H.hasparasites())
178177
guardian.stats.ranged = FALSE
@@ -201,6 +200,7 @@
201200
if(!istype(H) || !H.mind || H.mind.martial_art != src)
202201
return
203202
on_remove(H)
203+
martial_owner = null
204204
H.mind.martial_art = null
205205
if(base)
206206
base.teach(H)

0 commit comments

Comments
 (0)