Skip to content

Commit

Permalink
Clouded Monk: Bubblegum Edition (vlggms#1854)
Browse files Browse the repository at this point in the history
* monk

* Update code/modules/mob/living/carbon/human/species.dm

Co-authored-by: Gboster-0 <[email protected]>

* monk faster

* dead check

---------

Co-authored-by: Gboster-0 <[email protected]>
  • Loading branch information
PotatoTomahto and Gboster-0 authored Feb 24, 2024
1 parent b9fc98e commit 5979ce8
Show file tree
Hide file tree
Showing 14 changed files with 172 additions and 129 deletions.
2 changes: 1 addition & 1 deletion code/datums/looping_sounds/abnormalities.dm
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@
/datum/looping_sound/cloudedmonk_ambience
mid_sounds = 'sound/abnormalities/clouded_monk/run.ogg'
mid_length = 6 SECONDS
volume = 25
volume = 12.5 //SO ANNOYING
extra_range = -4

/datum/looping_sound/orangetree_ambience
Expand Down
1 change: 1 addition & 0 deletions code/modules/antagonists/slaughter/slaughter.dm
Original file line number Diff line number Diff line change
Expand Up @@ -210,6 +210,7 @@
attack_verb_simple = "wildly tickle"

attack_sound = 'sound/items/bikehorn.ogg'
attack_vis_effect = null
feast_sound = 'sound/spookoween/scary_horn2.ogg'
death_sound = 'sound/misc/sadtrombone.ogg'

Expand Down
32 changes: 13 additions & 19 deletions code/modules/mob/living/carbon/human/species.dm
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,8 @@ GLOBAL_LIST_EMPTY(roundstart_races)

///Punch-specific attack verb.
var/attack_verb = "punch"
///
/// The visual effect of the attack.
var/attack_effect = ATTACK_EFFECT_PUNCH
var/sound/attack_sound = 'sound/weapons/punch1.ogg'
var/sound/miss_sound = 'sound/weapons/punchmiss.ogg'

Expand Down Expand Up @@ -1381,31 +1382,24 @@ GLOBAL_LIST_EMPTY(roundstart_races)
else

var/atk_verb = user.dna.species.attack_verb
var/atk_effect = user.dna.species.attack_effect
if(target.body_position == LYING_DOWN)
atk_verb = ATTACK_EFFECT_KICK

switch(atk_verb)//this code is really stupid but some genius apparently made "claw" and "slash" two attack types but also the same one so it's needed i guess
if(ATTACK_EFFECT_KICK)
user.do_attack_animation(target, ATTACK_EFFECT_KICK)
if(ATTACK_EFFECT_SLASH, ATTACK_EFFECT_CLAW)//smh
user.do_attack_animation(target, ATTACK_EFFECT_CLAW)
if(ATTACK_EFFECT_SMASH)
user.do_attack_animation(target, ATTACK_EFFECT_SMASH)
if(ATTACK_EFFECT_BITE)
if(user.is_mouth_covered(FALSE, TRUE))
to_chat(user, span_warning("You can't bite with your mouth covered!"))
return FALSE
user.do_attack_animation(target, ATTACK_EFFECT_BITE)
else
user.do_attack_animation(target, ATTACK_EFFECT_PUNCH)
atk_verb = "kick"
atk_effect = ATTACK_EFFECT_KICK

if(atk_effect == ATTACK_EFFECT_BITE)
if(user.is_mouth_covered(mask_only = TRUE))
to_chat(user, span_warning("You can't [atk_verb] with your mouth covered!"))
return FALSE
user.do_attack_animation(target, atk_effect)

var/damage = rand(user.dna.species.punchdamagelow, user.dna.species.punchdamagehigh)

var/obj/item/bodypart/affecting = target.get_bodypart(ran_zone(user.zone_selected))

var/miss_chance = 100//calculate the odds that a punch misses entirely. considers stamina and brute damage of the puncher. punches miss by default to prevent weird cases
if(user.dna.species.punchdamagelow)
if(atk_verb == ATTACK_EFFECT_KICK || HAS_TRAIT(user, TRAIT_PERFECT_ATTACKER)) //kicks never miss (provided your species deals more than 0 damage)
if(atk_effect == ATTACK_EFFECT_KICK || HAS_TRAIT(user, TRAIT_PERFECT_ATTACKER)) //kicks never miss (provided your species deals more than 0 damage)
miss_chance = 0
else
miss_chance = min((user.dna.species.punchdamagehigh/user.dna.species.punchdamagelow) + user.getStaminaLoss() + (user.getBruteLoss()*0.5), 100) //old base chance for a miss + various damage. capped at 100 to prevent weirdness in prob()
Expand Down Expand Up @@ -1433,7 +1427,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
if(user.limb_destroyer)
target.dismembering_strike(user, affecting.body_zone)

if(atk_verb == ATTACK_EFFECT_KICK)//kicks deal 1.5x raw damage
if(atk_effect == ATTACK_EFFECT_KICK)//kicks deal 1.5x raw damage
target.apply_damage(damage*1.5, user.dna.species.attack_type, affecting, armor_block)
log_combat(user, target, "kicked")
else//other attacks deal full raw damage
Expand Down
2 changes: 2 additions & 0 deletions code/modules/mob/living/carbon/human/species_types/synths.dm
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@
species_traits |= S.species_traits
inherent_traits |= S.inherent_traits
attack_verb = S.attack_verb
attack_effect = S.attack_effect
attack_sound = S.attack_sound
miss_sound = S.miss_sound
meat = S.meat
Expand All @@ -78,6 +79,7 @@
species_traits = initial_species_traits.Copy()
inherent_traits = initial_inherent_traits.Copy()
attack_verb = initial(attack_verb)
attack_effect = initial(attack_verb)
attack_sound = initial(attack_sound)
miss_sound = initial(miss_sound)
mutant_bodyparts = list()
Expand Down
Loading

0 comments on commit 5979ce8

Please sign in to comment.