From f9e1ad3064712a46df09dc873fed6b327ca2ec4a Mon Sep 17 00:00:00 2001 From: ven1883 <129563993+ven1883@users.noreply.github.com> Date: Fri, 31 May 2024 08:06:47 -0500 Subject: [PATCH 01/12] adds tribal claw (unfinished) Saving this so I can work later. Procs hurt my soul --- monkestation/code/__DEFINES/martial_arts.dm | 3 + .../martial_arts/granters/tribal_claw_gr.dm | 42 +++++++ .../code/datums/martial_arts/tribal_claw.dm | 116 ++++++++++++++++++ tgstation.dme | 3 + 4 files changed, 164 insertions(+) create mode 100644 monkestation/code/__DEFINES/martial_arts.dm create mode 100644 monkestation/code/datums/martial_arts/granters/tribal_claw_gr.dm create mode 100644 monkestation/code/datums/martial_arts/tribal_claw.dm diff --git a/monkestation/code/__DEFINES/martial_arts.dm b/monkestation/code/__DEFINES/martial_arts.dm new file mode 100644 index 000000000000..b7dc5a04264e --- /dev/null +++ b/monkestation/code/__DEFINES/martial_arts.dm @@ -0,0 +1,3 @@ +//Monkestation exclusive martial arts defines. + +#define MARTIALART_TRIBALCLAW "tribal claw" diff --git a/monkestation/code/datums/martial_arts/granters/tribal_claw_gr.dm b/monkestation/code/datums/martial_arts/granters/tribal_claw_gr.dm new file mode 100644 index 000000000000..4ac82c3ed951 --- /dev/null +++ b/monkestation/code/datums/martial_arts/granters/tribal_claw_gr.dm @@ -0,0 +1,42 @@ +/obj/item/book/granter/martial/tribal_claw + martial = /datum/martial_art/tribal_claw + name = "old scroll" + martial_name = "tribal claw" + desc = "A scroll filled with ancient draconic markings." + greet = "You have learned the ancient martial art of the Tribal Claw! You are now able to use your tail and claws in a fight much better than before. \ + Check the combos you are now able to perform using the Recall Teachings verb in the Tribal Claw tab" + icon = 'icons/obj/wizard.dmi' + icon_state = "scroll2" + remarks = list("I must prove myself worthy to the masters of the Knoises clan...", + "Use your tail to surprise any enemy...", + "Your sharp claws can disorient them...", + "I don't think this would combine with other martial arts...", + "Ooga Booga..." + ) + +/obj/item/book/granter/martial/tribal_claw/on_reading_finished(mob/living/carbon/user) + . = ..() + update_appearance() + +/obj/item/book/granter/martial/carp/update_appearance(updates) + . = ..() + if(uses <= 0) + name = "empty scroll" + desc = "It's completely blank." + icon_state = "blankscroll" + else + name = initial(name) + desc = initial(desc) + icon_state = initial(icon_state) + + +//can't get this function to work yet. take a look at it AFTER. +/* +/obj/item/book/granter/martial/tribal_claw/already_known(mob/user) + if(islizard(user)) + return FALSE + else + to_chat(user, "You try to read the scroll but can't comprehend any of it.") + return TRUE + +*/ diff --git a/monkestation/code/datums/martial_arts/tribal_claw.dm b/monkestation/code/datums/martial_arts/tribal_claw.dm new file mode 100644 index 000000000000..f15f84d09f07 --- /dev/null +++ b/monkestation/code/datums/martial_arts/tribal_claw.dm @@ -0,0 +1,116 @@ +//ported directly from Bee, cleaned up and updated to function with TG. thanks bee! + +#define TAIL_SWEEP_COMBO "DH" +#define FACE_SCRATCH_COMBO "HH" +#define JUGULAR_CUT_COMBO "HD" +#define TAIL_GRAB_COMBO "DDG" + +/datum/martial_art/tribal_claw + name = "Tribal Claw" + id = MARTIALART_TRIBALCLAW + allow_temp_override = FALSE + help_verb = /mob/living/carbon/human/proc/tribal_claw_help + +/datum/martial_art/tribal_claw/proc/check_streak(mob/living/carbon/human/attacker, mob/living/carbon/human/target) + if(findtext(streak,TAIL_SWEEP_COMBO)) + streak = "" + tailSweep(attacker,target) + return TRUE + if(findtext(streak,FACE_SCRATCH_COMBO)) + streak = "" + faceScratch(attacker,target) + return TRUE + if(findtext(streak,JUGULAR_CUT_COMBO)) + streak = "" + jugularCut(attacker,target) + return TRUE + if(findtext(streak,TAIL_GRAB_COMBO)) + streak = "" + tailGrab(attacker,target) + return TRUE + return FALSE + +//Tail Sweep, triggers an effect similar to Alien Queen's tail sweep but only affects stuff 1 tile next to you, basically 3x3. +/datum/martial_art/tribal_claw/proc/tailSweep(mob/living/carbon/human/attacker, mob/living/carbon/human/target) + if(attacker == current_target) + return + log_combat(attacker, target, "tail sweeped(Tribal Claw)", name) + target.visible_message("[attacker] sweeps [target]'s legs with their tail!", \ + "[attacker] sweeps your legs with their tail!") + var/static/datum/action/cooldown/spell/aoe/repulse/xeno/tail_sweep = new + tail_sweep.cast(attacker) + +//Face Scratch, deals 10 brute to head(reduced by armor), blurs the target's vision and gives them the confused effect for a short time. +/datum/martial_art/tribal_claw/proc/faceScratch(mob/living/carbon/human/attacker, mob/living/carbon/human/target) + var/def_check = target.getarmor(BODY_ZONE_HEAD, MELEE) + log_combat(attacker, target, "face scratched (Tribal Claw)", name) + target.visible_message("[attacker] scratches [target]'s face with their claws!", \ + "[attacker] scratches your face with their claws!") + target.apply_damage(10, BRUTE, BODY_ZONE_HEAD, def_check) + target.adjust_confusion(5 SECONDS) + target.adjust_eye_blur(5 SECONDS) + attacker.do_attack_animation(target, ATTACK_EFFECT_CLAW) + playsound(get_turf(target), 'sound/weapons/slash.ogg', 50, 1, -1) + +/* +Jugular Cut, can only be done if the target is in crit, being held in a tier 3 grab by the user or if they are sleeping. +Deals 15 brute to head(reduced by armor) and causes a rapid bleeding effect similar to throat slicing someone with a sharp item. +*/ +//LIES!! eh not really. I made it apply the throat slitting status effect. + +/datum/martial_art/tribal_claw/proc/jugularCut(mob/living/carbon/human/attacker, mob/living/carbon/human/target) + var/def_check = target.getarmor(BODY_ZONE_HEAD, MELEE) + if((target.health <= target.crit_threshold || (attacker.pulling == target && attacker.grab_state >= GRAB_NECK) || target.IsSleeping())) + log_combat(attacker, target, "jugular cut (Tribal Claw)", name) + target.visible_message("[attacker] cuts [target]'s jugular vein with their claws!", \ + "[attacker] cuts your jugular vein!") + target.apply_damage(15, BRUTE, BODY_ZONE_HEAD, def_check) + + //incompatible with TG's status efffects and medical. not quite sure of the replacements. Highly likely this causes issues in the future. + //target.bleed_rate = clamp(target.bleed_rate + 20, 0, 30) + target.apply_status_effect(/datum/status_effect/wound/slash/flesh/critical) + attacker.do_attack_animation(target, ATTACK_EFFECT_CLAW) + playsound(get_turf(target), 'sound/weapons/slash.ogg', 50, 1, -1) + else + //the original code says that this should be a basic attack instead, but not quite sure I could get that to work without fanangling + return MARTIAL_ATTACK_FAIL + +//Tail Grab, instantly puts your target in a T3 grab and makes them unable to talk for a short time. +/datum/martial_art/tribal_claw/proc/tailGrab(mob/living/carbon/human/attacker, mob/living/carbon/human/target) + log_combat(attacker, target, "tail grabbed (Tribal Claw)", name) + target.visible_message("[attacker] grabs [target] with their tail!", \ + "[attacker] grabs you with their tail!") + target.grabbedby(attacker, 1) + target.Knockdown(5) //Without knockdown target still stands up while T3 grabbed. + attacker.setGrabState(GRAB_NECK) + target.adjust_silence_up_to(10 SECONDS, 10 SECONDS) + +/datum/martial_art/tribal_claw/harm_act(mob/living/carbon/human/attacker, mob/living/carbon/human/target) + add_to_streak("H",target) + if(check_streak(attacker,target)) + return TRUE + return FALSE + +/datum/martial_art/tribal_claw/disarm_act(mob/living/carbon/human/attacker, mob/living/carbon/human/target) + add_to_streak("D",target) + if(check_streak(attacker,target)) + return TRUE + return FALSE + +/datum/martial_art/tribal_claw/grab_act(mob/living/carbon/human/attacker, mob/living/carbon/human/target) + add_to_streak("G",target) + if(check_streak(attacker,target)) + return TRUE + return FALSE + +/mob/living/carbon/human/proc/tribal_claw_help() + set name = "Recall Teachings" + set desc = "Remember the martial techniques of the Tribal Claw" + set category = "Tribal Claw" + + to_chat(usr, "You retreat inward and recall the teachings of the Tribal Claw...") + + to_chat(usr, "Tail Sweep: Disarm Harm. Pushes everyone around you away and knocks them down.") + to_chat(usr, "Face Scratch: Harm Harm. Damages your target's head and confuses them for a short time.") + to_chat(usr, "Jugular Cut: Harm Disarm. Causes your target to rapidly lose blood, works only if you grab your target by their neck, if they are sleeping, or in critical condition.") + to_chat(usr, "Tail Grab: Disarm Disarm Grab. Grabs your target by their neck and makes them unable to talk for a short time.") diff --git a/tgstation.dme b/tgstation.dme index a88c219a875f..9b600172c88d 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -5703,6 +5703,7 @@ #include "interface\fonts\spess_font.dm" #include "interface\fonts\tiny_unicode.dm" #include "interface\fonts\vcr_osd_mono.dm" +#include "monkestation\code\__DEFINES\martial_arts.dm" #include "monkestation\code\__DEFINES\projectile.dm" #include "monkestation\code\__HELPERS\_lists.dm" #include "monkestation\code\__HELPERS\anime.dm" @@ -5744,6 +5745,8 @@ #include "monkestation\code\datums\keybinding\communication.dm" #include "monkestation\code\datums\keybinding\living.dm" #include "monkestation\code\datums\looping_sounds\weather.dm" +#include "monkestation\code\datums\martial_arts\tribal_claw.dm" +#include "monkestation\code\datums\martial_arts\granters\tribal_claw_gr.dm" #include "monkestation\code\datums\mind\_mind.dm" #include "monkestation\code\datums\quirks\negative_quirks.dm" #include "monkestation\code\datums\quirks\neutral_quirks.dm" From e78253ba3e9cb77cbd86af4a03c8e80b089616d7 Mon Sep 17 00:00:00 2001 From: ven1883 <129563993+ven1883@users.noreply.github.com> Date: Fri, 31 May 2024 12:29:47 -0500 Subject: [PATCH 02/12] what --- _maps/_basemap.dm | 2 +- .../datums/martial_arts/granters/tribal_claw_gr.dm | 12 ++++-------- monkestation/code/datums/martial_arts/tribal_claw.dm | 11 +++++------ 3 files changed, 10 insertions(+), 15 deletions(-) diff --git a/_maps/_basemap.dm b/_maps/_basemap.dm index 60ffa1b88918..50c11c0c3b1a 100644 --- a/_maps/_basemap.dm +++ b/_maps/_basemap.dm @@ -1,4 +1,4 @@ -//#define LOWMEMORYMODE //uncomment this to load centcom and runtime station and thats it. +#define LOWMEMORYMODE //uncomment this to load centcom and runtime station and thats it. #include "map_files\generic\CentCom.dmm" diff --git a/monkestation/code/datums/martial_arts/granters/tribal_claw_gr.dm b/monkestation/code/datums/martial_arts/granters/tribal_claw_gr.dm index 4ac82c3ed951..5f6ef13398a5 100644 --- a/monkestation/code/datums/martial_arts/granters/tribal_claw_gr.dm +++ b/monkestation/code/datums/martial_arts/granters/tribal_claw_gr.dm @@ -18,7 +18,7 @@ . = ..() update_appearance() -/obj/item/book/granter/martial/carp/update_appearance(updates) +/obj/item/book/granter/martial/tribal_claw/update_appearance(updates) . = ..() if(uses <= 0) name = "empty scroll" @@ -29,14 +29,10 @@ desc = initial(desc) icon_state = initial(icon_state) - -//can't get this function to work yet. take a look at it AFTER. -/* -/obj/item/book/granter/martial/tribal_claw/already_known(mob/user) - if(islizard(user)) +/obj/item/book/granter/martial/tribal_claw/can_learn(mob/user) + if(!islizard(user)) + to_chat(user, "You try to read the scroll but can't comprehend any of it.") return FALSE else - to_chat(user, "You try to read the scroll but can't comprehend any of it.") return TRUE -*/ diff --git a/monkestation/code/datums/martial_arts/tribal_claw.dm b/monkestation/code/datums/martial_arts/tribal_claw.dm index f15f84d09f07..82356605899b 100644 --- a/monkestation/code/datums/martial_arts/tribal_claw.dm +++ b/monkestation/code/datums/martial_arts/tribal_claw.dm @@ -56,25 +56,24 @@ Jugular Cut, can only be done if the target is in crit, being held in a tier 3 grab by the user or if they are sleeping. Deals 15 brute to head(reduced by armor) and causes a rapid bleeding effect similar to throat slicing someone with a sharp item. */ -//LIES!! eh not really. I made it apply the throat slitting status effect. +//LIES!! TG completely FUCKED throat slitting and it's EXTREMELY DIFFICULT to replicate. This absolutely sucked to code. -/datum/martial_art/tribal_claw/proc/jugularCut(mob/living/carbon/human/attacker, mob/living/carbon/human/target) + +/datum/martial_art/tribal_claw/proc/jugularCut(mob/living/carbon/attacker, mob/living/carbon/target) var/def_check = target.getarmor(BODY_ZONE_HEAD, MELEE) if((target.health <= target.crit_threshold || (attacker.pulling == target && attacker.grab_state >= GRAB_NECK) || target.IsSleeping())) log_combat(attacker, target, "jugular cut (Tribal Claw)", name) target.visible_message("[attacker] cuts [target]'s jugular vein with their claws!", \ "[attacker] cuts your jugular vein!") target.apply_damage(15, BRUTE, BODY_ZONE_HEAD, def_check) - - //incompatible with TG's status efffects and medical. not quite sure of the replacements. Highly likely this causes issues in the future. - //target.bleed_rate = clamp(target.bleed_rate + 20, 0, 30) - target.apply_status_effect(/datum/status_effect/wound/slash/flesh/critical) + target.apply_status_effect(/datum/status_effect/neck_slice) attacker.do_attack_animation(target, ATTACK_EFFECT_CLAW) playsound(get_turf(target), 'sound/weapons/slash.ogg', 50, 1, -1) else //the original code says that this should be a basic attack instead, but not quite sure I could get that to work without fanangling return MARTIAL_ATTACK_FAIL + //Tail Grab, instantly puts your target in a T3 grab and makes them unable to talk for a short time. /datum/martial_art/tribal_claw/proc/tailGrab(mob/living/carbon/human/attacker, mob/living/carbon/human/target) log_combat(attacker, target, "tail grabbed (Tribal Claw)", name) From 9d8f5225346de51bb243891e2ec338360cbf4770 Mon Sep 17 00:00:00 2001 From: ven1883 <129563993+ven1883@users.noreply.github.com> Date: Sat, 8 Jun 2024 18:10:35 -0500 Subject: [PATCH 03/12] Adds Tribal Claw FINALLY --- .../code/datums/martial_arts/tribal_claw.dm | 8 +++++-- .../code/datums/martial_arts/wounds/wounds.dm | 23 +++++++++++++++++++ tgstation.dme | 1 + 3 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 monkestation/code/datums/martial_arts/wounds/wounds.dm diff --git a/monkestation/code/datums/martial_arts/tribal_claw.dm b/monkestation/code/datums/martial_arts/tribal_claw.dm index 82356605899b..ba3932c0981d 100644 --- a/monkestation/code/datums/martial_arts/tribal_claw.dm +++ b/monkestation/code/datums/martial_arts/tribal_claw.dm @@ -61,12 +61,16 @@ Deals 15 brute to head(reduced by armor) and causes a rapid bleeding effect simi /datum/martial_art/tribal_claw/proc/jugularCut(mob/living/carbon/attacker, mob/living/carbon/target) var/def_check = target.getarmor(BODY_ZONE_HEAD, MELEE) + var/wound_type = /datum/wound/slash/flesh/critical + var/obj/item/bodypart/head = target.get_bodypart(BODY_ZONE_HEAD) + var/datum/wound/slash/flesh/jugcut = new wound_type() + if((target.health <= target.crit_threshold || (attacker.pulling == target && attacker.grab_state >= GRAB_NECK) || target.IsSleeping())) log_combat(attacker, target, "jugular cut (Tribal Claw)", name) target.visible_message("[attacker] cuts [target]'s jugular vein with their claws!", \ "[attacker] cuts your jugular vein!") target.apply_damage(15, BRUTE, BODY_ZONE_HEAD, def_check) - target.apply_status_effect(/datum/status_effect/neck_slice) + jugcut.apply_wound(head) attacker.do_attack_animation(target, ATTACK_EFFECT_CLAW) playsound(get_turf(target), 'sound/weapons/slash.ogg', 50, 1, -1) else @@ -78,7 +82,7 @@ Deals 15 brute to head(reduced by armor) and causes a rapid bleeding effect simi /datum/martial_art/tribal_claw/proc/tailGrab(mob/living/carbon/human/attacker, mob/living/carbon/human/target) log_combat(attacker, target, "tail grabbed (Tribal Claw)", name) target.visible_message("[attacker] grabs [target] with their tail!", \ - "[attacker] grabs you with their tail!") + "[attacker] grabs you with their tail!6") target.grabbedby(attacker, 1) target.Knockdown(5) //Without knockdown target still stands up while T3 grabbed. attacker.setGrabState(GRAB_NECK) diff --git a/monkestation/code/datums/martial_arts/wounds/wounds.dm b/monkestation/code/datums/martial_arts/wounds/wounds.dm new file mode 100644 index 000000000000..4bf6ec33aa6c --- /dev/null +++ b/monkestation/code/datums/martial_arts/wounds/wounds.dm @@ -0,0 +1,23 @@ +//EXPERIMENTAL DO NOT USE + +/* + +// Subtype for throat slices +/datum/wound/slash/flesh/critical/artery + name = "Slashed Artery" + desc = "Patient has a slashed artery, causing severe and life-threatening bleeding." + examine_desc = "is ruptured, spraying blood wildly" + initial_flow = 12 + minimum_flow = 6 + +/datum/wound/slash/flesh/critical/artery/update_descriptions() + if(!limb.can_bleed()) + occur_text = "is ruptured" + +/datum/wound_pregen_data/flesh_slash/avulsion/artery + abstract = FALSE + can_be_randomly_generated = FALSE + + wound_path_to_generate = /datum/wound/slash/flesh/critical/artery + +*/ diff --git a/tgstation.dme b/tgstation.dme index 9b600172c88d..b5181eab35ef 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -5747,6 +5747,7 @@ #include "monkestation\code\datums\looping_sounds\weather.dm" #include "monkestation\code\datums\martial_arts\tribal_claw.dm" #include "monkestation\code\datums\martial_arts\granters\tribal_claw_gr.dm" +#include "monkestation\code\datums\martial_arts\wounds\wounds.dm" #include "monkestation\code\datums\mind\_mind.dm" #include "monkestation\code\datums\quirks\negative_quirks.dm" #include "monkestation\code\datums\quirks\neutral_quirks.dm" From 078fe8d709379065f867680453aaa8bcad8e6a6e Mon Sep 17 00:00:00 2001 From: ven1883 <129563993+ven1883@users.noreply.github.com> Date: Sat, 8 Jun 2024 20:40:28 -0500 Subject: [PATCH 04/12] Adds Tribal Claw scroll to the uplink --- monkestation/code/modules/uplink/uplink_items/species.dm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/monkestation/code/modules/uplink/uplink_items/species.dm b/monkestation/code/modules/uplink/uplink_items/species.dm index db1ee12eac86..911a7490fc80 100644 --- a/monkestation/code/modules/uplink/uplink_items/species.dm +++ b/monkestation/code/modules/uplink/uplink_items/species.dm @@ -23,3 +23,9 @@ item = /obj/vehicle/ridden/monkey_ball restricted_species = list(SPECIES_SIMIAN) +/datum/uplink_item/race_restricted/tribal_claw_scroll + name = "Silver-Scale Scroll" + desc = "A scroll with ancient heritage. It can teach the user the secrets of Tribal Claw, an offensive martial art reliant on one's claws and tail." + cost = 10 + item = /obj/item/book/granter/martial/tribal_claw + restricted_species = list(SPECIES_LIZARD) From c8477f01c4fbcab98896815578f8999d2e01c802 Mon Sep 17 00:00:00 2001 From: ven1883 <129563993+ven1883@users.noreply.github.com> Date: Sun, 9 Jun 2024 23:02:05 -0500 Subject: [PATCH 05/12] Touch ups and FIXES A FTAL BUG --- .../martial_arts/granters/tribal_claw_gr.dm | 0 .../code/{datums => modules}/martial_arts/tribal_claw.dm | 0 .../code/{datums => modules}/martial_arts/wounds/wounds.dm | 0 monkestation/code/modules/uplink/uplink_items/species.dm | 6 +++--- 4 files changed, 3 insertions(+), 3 deletions(-) rename monkestation/code/{datums => modules}/martial_arts/granters/tribal_claw_gr.dm (100%) rename monkestation/code/{datums => modules}/martial_arts/tribal_claw.dm (100%) rename monkestation/code/{datums => modules}/martial_arts/wounds/wounds.dm (100%) diff --git a/monkestation/code/datums/martial_arts/granters/tribal_claw_gr.dm b/monkestation/code/modules/martial_arts/granters/tribal_claw_gr.dm similarity index 100% rename from monkestation/code/datums/martial_arts/granters/tribal_claw_gr.dm rename to monkestation/code/modules/martial_arts/granters/tribal_claw_gr.dm diff --git a/monkestation/code/datums/martial_arts/tribal_claw.dm b/monkestation/code/modules/martial_arts/tribal_claw.dm similarity index 100% rename from monkestation/code/datums/martial_arts/tribal_claw.dm rename to monkestation/code/modules/martial_arts/tribal_claw.dm diff --git a/monkestation/code/datums/martial_arts/wounds/wounds.dm b/monkestation/code/modules/martial_arts/wounds/wounds.dm similarity index 100% rename from monkestation/code/datums/martial_arts/wounds/wounds.dm rename to monkestation/code/modules/martial_arts/wounds/wounds.dm diff --git a/monkestation/code/modules/uplink/uplink_items/species.dm b/monkestation/code/modules/uplink/uplink_items/species.dm index 911a7490fc80..5c11850bfd05 100644 --- a/monkestation/code/modules/uplink/uplink_items/species.dm +++ b/monkestation/code/modules/uplink/uplink_items/species.dm @@ -9,21 +9,21 @@ restricted_species = list(SPECIES_MOTH) surplus = 0 -/datum/uplink_item/race_restricted/monkey_barrel +/datum/uplink_item/species_restricted/monkey_barrel name = "Angry Monkey Barrel" desc = "Expert Syndicate Scientists put pissed a couple monkeys off and put them in a barrel. It isn't that complicated, but it's very effective" cost = 7 item = /obj/item/grenade/monkey_barrel restricted_species = list(SPECIES_SIMIAN) -/datum/uplink_item/race_restricted/monkey_ball +/datum/uplink_item/species_restricted/monkey_ball name = "Monkey Ball" desc = "Stolen experimental MonkeTech designed to bring a monkey's speed to dangerous levels." cost = 12 item = /obj/vehicle/ridden/monkey_ball restricted_species = list(SPECIES_SIMIAN) -/datum/uplink_item/race_restricted/tribal_claw_scroll +/datum/uplink_item/species_restricted/tribal_claw_scroll name = "Silver-Scale Scroll" desc = "A scroll with ancient heritage. It can teach the user the secrets of Tribal Claw, an offensive martial art reliant on one's claws and tail." cost = 10 From 477b99b492c509961076b60efa543c0e2598102c Mon Sep 17 00:00:00 2001 From: ven1883 <129563993+ven1883@users.noreply.github.com> Date: Wed, 19 Jun 2024 00:49:12 -0500 Subject: [PATCH 06/12] i am stupid oops i forgor to disable lowmem mode --- _maps/_basemap.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_maps/_basemap.dm b/_maps/_basemap.dm index 50c11c0c3b1a..dd01ba8b5a62 100644 --- a/_maps/_basemap.dm +++ b/_maps/_basemap.dm @@ -1,4 +1,4 @@ -#define LOWMEMORYMODE //uncomment this to load centcom and runtime station and thats it. +// #define LOWMEMORYMODE //uncomment this to load centcom and runtime station and thats it. #include "map_files\generic\CentCom.dmm" From ed4f7aa5893820eaa3dac4508290d4d2ee1a5d55 Mon Sep 17 00:00:00 2001 From: ven1883 <129563993+ven1883@users.noreply.github.com> Date: Wed, 19 Jun 2024 00:56:34 -0500 Subject: [PATCH 07/12] schtewpid pt 2 bluh --- _maps/_basemap.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_maps/_basemap.dm b/_maps/_basemap.dm index dd01ba8b5a62..60ffa1b88918 100644 --- a/_maps/_basemap.dm +++ b/_maps/_basemap.dm @@ -1,4 +1,4 @@ -// #define LOWMEMORYMODE //uncomment this to load centcom and runtime station and thats it. +//#define LOWMEMORYMODE //uncomment this to load centcom and runtime station and thats it. #include "map_files\generic\CentCom.dmm" From c983de2e298a1f3367d48e47e453b98a9492fb86 Mon Sep 17 00:00:00 2001 From: ven1883 <129563993+ven1883@users.noreply.github.com> Date: Mon, 24 Jun 2024 07:43:47 -0500 Subject: [PATCH 08/12] the great fixening fixes the game --- tgstation.dme | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tgstation.dme b/tgstation.dme index b5181eab35ef..c41241bf3f29 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -5745,9 +5745,6 @@ #include "monkestation\code\datums\keybinding\communication.dm" #include "monkestation\code\datums\keybinding\living.dm" #include "monkestation\code\datums\looping_sounds\weather.dm" -#include "monkestation\code\datums\martial_arts\tribal_claw.dm" -#include "monkestation\code\datums\martial_arts\granters\tribal_claw_gr.dm" -#include "monkestation\code\datums\martial_arts\wounds\wounds.dm" #include "monkestation\code\datums\mind\_mind.dm" #include "monkestation\code\datums\quirks\negative_quirks.dm" #include "monkestation\code\datums\quirks\neutral_quirks.dm" @@ -6517,6 +6514,9 @@ #include "monkestation\code\modules\mapping\access_helpers.dm" #include "monkestation\code\modules\mapping\mapping_helpers.dm" #include "monkestation\code\modules\maptext\maptext_image_helper.dm" +#include "monkestation\code\modules\martial_arts\tribal_claw.dm" +#include "monkestation\code\modules\martial_arts\granters\tribal_claw_gr.dm" +#include "monkestation\code\modules\martial_arts\wounds\wounds.dm" #include "monkestation\code\modules\mech_comp\_interface.dm" #include "monkestation\code\modules\mech_comp\_message.dm" #include "monkestation\code\modules\mech_comp\vending_machine.dm" From e561b0026dc8ad09c1af2ffc0430a6bbbcc9445f Mon Sep 17 00:00:00 2001 From: ven1883 <129563993+ven1883@users.noreply.github.com> Date: Tue, 25 Jun 2024 01:10:15 -0500 Subject: [PATCH 09/12] out of order --- tgstation.dme | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgstation.dme b/tgstation.dme index 3b1fba3a926c..7f2d73baec94 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -5711,9 +5711,9 @@ #include "interface\fonts\spess_font.dm" #include "interface\fonts\tiny_unicode.dm" #include "interface\fonts\vcr_osd_mono.dm" -#include "monkestation\code\__DEFINES\martial_arts.dm" #include "monkestation\code\__DEFINES\_module_defines.dm" #include "monkestation\code\__DEFINES\antag_defines.dm" +#include "monkestation\code\__DEFINES\martial_arts.dm" #include "monkestation\code\__DEFINES\projectile.dm" #include "monkestation\code\__DEFINES\signals.dm" #include "monkestation\code\__HELPERS\_lists.dm" From df617fd1b615909551fd214cf5cdeb505c70dbce Mon Sep 17 00:00:00 2001 From: ven1883 <129563993+ven1883@users.noreply.github.com> Date: Wed, 26 Jun 2024 19:36:30 -0500 Subject: [PATCH 10/12] requested changes --- .../__DEFINES/~monkestation}/martial_arts.dm | 0 .../martial_arts/granters/tribal_claw_gr.dm | 6 ++-- .../modules/martial_arts/spells/spells.dm | 29 +++++++++++++++++++ .../code/modules/martial_arts/tribal_claw.dm | 26 ++++++++--------- .../modules/martial_arts/wounds/wounds.dm | 23 --------------- .../modules/uplink/uplink_items/species.dm | 2 +- tgstation.dme | 4 +-- 7 files changed, 48 insertions(+), 42 deletions(-) rename {monkestation/code/__DEFINES => code/__DEFINES/~monkestation}/martial_arts.dm (100%) create mode 100644 monkestation/code/modules/martial_arts/spells/spells.dm delete mode 100644 monkestation/code/modules/martial_arts/wounds/wounds.dm diff --git a/monkestation/code/__DEFINES/martial_arts.dm b/code/__DEFINES/~monkestation/martial_arts.dm similarity index 100% rename from monkestation/code/__DEFINES/martial_arts.dm rename to code/__DEFINES/~monkestation/martial_arts.dm diff --git a/monkestation/code/modules/martial_arts/granters/tribal_claw_gr.dm b/monkestation/code/modules/martial_arts/granters/tribal_claw_gr.dm index 5f6ef13398a5..d4767ed45ff3 100644 --- a/monkestation/code/modules/martial_arts/granters/tribal_claw_gr.dm +++ b/monkestation/code/modules/martial_arts/granters/tribal_claw_gr.dm @@ -3,8 +3,8 @@ name = "old scroll" martial_name = "tribal claw" desc = "A scroll filled with ancient draconic markings." - greet = "You have learned the ancient martial art of the Tribal Claw! You are now able to use your tail and claws in a fight much better than before. \ - Check the combos you are now able to perform using the Recall Teachings verb in the Tribal Claw tab" + greet = span_sciradio("You have learned the ancient martial art of the Tribal Claw! You are now able to use your tail and claws in a fight much better than before. \ + Check the combos you are now able to perform using the Recall Teachings verb in the Tribal Claw tab") icon = 'icons/obj/wizard.dmi' icon_state = "scroll2" remarks = list("I must prove myself worthy to the masters of the Knoises clan...", @@ -31,7 +31,7 @@ /obj/item/book/granter/martial/tribal_claw/can_learn(mob/user) if(!islizard(user)) - to_chat(user, "You try to read the scroll but can't comprehend any of it.") + to_chat(user, span_warning("You try to read the scroll but can't comprehend any of it.")) return FALSE else return TRUE diff --git a/monkestation/code/modules/martial_arts/spells/spells.dm b/monkestation/code/modules/martial_arts/spells/spells.dm new file mode 100644 index 000000000000..2ebf5dfa3006 --- /dev/null +++ b/monkestation/code/modules/martial_arts/spells/spells.dm @@ -0,0 +1,29 @@ + +//tribal claw +/datum/action/cooldown/spell/aoe/repulse/martial + name = "Tail Sweep" + desc = "Throw back attackers with a sweep of your tail." + background_icon_state = "bg_alien" + overlay_icon_state = "bg_alien_border" + button_icon = 'icons/mob/actions/actions_xeno.dmi' + button_icon_state = "tailsweep" + panel = "Alien" + sound = 'sound/magic/tail_swing.ogg' + + //cooldown_time = 15 SECONDS + spell_requirements = NONE + + check_flags = AB_CHECK_CONSCIOUS | AB_CHECK_INCAPACITATED + invocation_type = INVOCATION_NONE + antimagic_flags = NONE + aoe_radius = 2 + + sparkle_path = /obj/effect/temp_visual/dir_setting/tailsweep + +/datum/action/cooldown/spell/aoe/repulse/martial/cast(atom/cast_on) + if(iscarbon(cast_on)) + var/mob/living/carbon/carbon_caster = cast_on + playsound(get_turf(carbon_caster), 'sound/voice/hiss5.ogg', 80, TRUE, TRUE) + carbon_caster.spin(6, 1) + + return ..() diff --git a/monkestation/code/modules/martial_arts/tribal_claw.dm b/monkestation/code/modules/martial_arts/tribal_claw.dm index ba3932c0981d..e39a8a979c45 100644 --- a/monkestation/code/modules/martial_arts/tribal_claw.dm +++ b/monkestation/code/modules/martial_arts/tribal_claw.dm @@ -35,17 +35,17 @@ if(attacker == current_target) return log_combat(attacker, target, "tail sweeped(Tribal Claw)", name) - target.visible_message("[attacker] sweeps [target]'s legs with their tail!", \ - "[attacker] sweeps your legs with their tail!") - var/static/datum/action/cooldown/spell/aoe/repulse/xeno/tail_sweep = new + target.visible_message(span_warning("[attacker] sweeps [target]'s legs with their tail!"), \ + span_userdanger("[attacker] sweeps your legs with their tail!")) + var/static/datum/action/cooldown/spell/aoe/repulse/martial/tail_sweep = new tail_sweep.cast(attacker) //Face Scratch, deals 10 brute to head(reduced by armor), blurs the target's vision and gives them the confused effect for a short time. /datum/martial_art/tribal_claw/proc/faceScratch(mob/living/carbon/human/attacker, mob/living/carbon/human/target) var/def_check = target.getarmor(BODY_ZONE_HEAD, MELEE) log_combat(attacker, target, "face scratched (Tribal Claw)", name) - target.visible_message("[attacker] scratches [target]'s face with their claws!", \ - "[attacker] scratches your face with their claws!") + target.visible_message(span_warning("[attacker] scratches [target]'s face with their claws!"), \ + span_userdanger("[attacker] scratches your face with their claws!")) target.apply_damage(10, BRUTE, BODY_ZONE_HEAD, def_check) target.adjust_confusion(5 SECONDS) target.adjust_eye_blur(5 SECONDS) @@ -67,8 +67,8 @@ Deals 15 brute to head(reduced by armor) and causes a rapid bleeding effect simi if((target.health <= target.crit_threshold || (attacker.pulling == target && attacker.grab_state >= GRAB_NECK) || target.IsSleeping())) log_combat(attacker, target, "jugular cut (Tribal Claw)", name) - target.visible_message("[attacker] cuts [target]'s jugular vein with their claws!", \ - "[attacker] cuts your jugular vein!") + target.visible_message(span_warning("[attacker] cuts [target]'s jugular vein with their claws!"), \ + span_userdanger("[attacker] cuts your jugular vein!")) target.apply_damage(15, BRUTE, BODY_ZONE_HEAD, def_check) jugcut.apply_wound(head) attacker.do_attack_animation(target, ATTACK_EFFECT_CLAW) @@ -81,8 +81,8 @@ Deals 15 brute to head(reduced by armor) and causes a rapid bleeding effect simi //Tail Grab, instantly puts your target in a T3 grab and makes them unable to talk for a short time. /datum/martial_art/tribal_claw/proc/tailGrab(mob/living/carbon/human/attacker, mob/living/carbon/human/target) log_combat(attacker, target, "tail grabbed (Tribal Claw)", name) - target.visible_message("[attacker] grabs [target] with their tail!", \ - "[attacker] grabs you with their tail!6") + target.visible_message(span_warning("[attacker] grabs [target] with their tail!"), \ + span_userdanger("[attacker] grabs you with their tail!6")) target.grabbedby(attacker, 1) target.Knockdown(5) //Without knockdown target still stands up while T3 grabbed. attacker.setGrabState(GRAB_NECK) @@ -113,7 +113,7 @@ Deals 15 brute to head(reduced by armor) and causes a rapid bleeding effect simi to_chat(usr, "You retreat inward and recall the teachings of the Tribal Claw...") - to_chat(usr, "Tail Sweep: Disarm Harm. Pushes everyone around you away and knocks them down.") - to_chat(usr, "Face Scratch: Harm Harm. Damages your target's head and confuses them for a short time.") - to_chat(usr, "Jugular Cut: Harm Disarm. Causes your target to rapidly lose blood, works only if you grab your target by their neck, if they are sleeping, or in critical condition.") - to_chat(usr, "Tail Grab: Disarm Disarm Grab. Grabs your target by their neck and makes them unable to talk for a short time.") + to_chat(usr, span_notice("Tail Sweep: Disarm Harm. Pushes everyone around you away and knocks them down.")) + to_chat(usr, span_notice("Face Scratch: Harm Harm. Damages your target's head and confuses them for a short time.")) + to_chat(usr, span_notice("Jugular Cut: Harm Disarm. Causes your target to rapidly lose blood, works only if you grab your target by their neck, if they are sleeping, or in critical condition.")) + to_chat(usr, span_notice("Tail Grab: Disarm Disarm Grab. Grabs your target by their neck and makes them unable to talk for a short time.")) diff --git a/monkestation/code/modules/martial_arts/wounds/wounds.dm b/monkestation/code/modules/martial_arts/wounds/wounds.dm deleted file mode 100644 index 4bf6ec33aa6c..000000000000 --- a/monkestation/code/modules/martial_arts/wounds/wounds.dm +++ /dev/null @@ -1,23 +0,0 @@ -//EXPERIMENTAL DO NOT USE - -/* - -// Subtype for throat slices -/datum/wound/slash/flesh/critical/artery - name = "Slashed Artery" - desc = "Patient has a slashed artery, causing severe and life-threatening bleeding." - examine_desc = "is ruptured, spraying blood wildly" - initial_flow = 12 - minimum_flow = 6 - -/datum/wound/slash/flesh/critical/artery/update_descriptions() - if(!limb.can_bleed()) - occur_text = "is ruptured" - -/datum/wound_pregen_data/flesh_slash/avulsion/artery - abstract = FALSE - can_be_randomly_generated = FALSE - - wound_path_to_generate = /datum/wound/slash/flesh/critical/artery - -*/ diff --git a/monkestation/code/modules/uplink/uplink_items/species.dm b/monkestation/code/modules/uplink/uplink_items/species.dm index 5c11850bfd05..adb036254d37 100644 --- a/monkestation/code/modules/uplink/uplink_items/species.dm +++ b/monkestation/code/modules/uplink/uplink_items/species.dm @@ -26,6 +26,6 @@ /datum/uplink_item/species_restricted/tribal_claw_scroll name = "Silver-Scale Scroll" desc = "A scroll with ancient heritage. It can teach the user the secrets of Tribal Claw, an offensive martial art reliant on one's claws and tail." - cost = 10 + cost = 7 item = /obj/item/book/granter/martial/tribal_claw restricted_species = list(SPECIES_LIZARD) diff --git a/tgstation.dme b/tgstation.dme index 7f2d73baec94..5e7dc7cf37fa 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -412,6 +412,7 @@ #include "code\__DEFINES\~monkestation\logging.dm" #include "code\__DEFINES\~monkestation\maps.dm" #include "code\__DEFINES\~monkestation\market.dm" +#include "code\__DEFINES\~monkestation\martial_arts.dm" #include "code\__DEFINES\~monkestation\materials.dm" #include "code\__DEFINES\~monkestation\mecha.dm" #include "code\__DEFINES\~monkestation\microfusion.dm" @@ -5713,7 +5714,6 @@ #include "interface\fonts\vcr_osd_mono.dm" #include "monkestation\code\__DEFINES\_module_defines.dm" #include "monkestation\code\__DEFINES\antag_defines.dm" -#include "monkestation\code\__DEFINES\martial_arts.dm" #include "monkestation\code\__DEFINES\projectile.dm" #include "monkestation\code\__DEFINES\signals.dm" #include "monkestation\code\__HELPERS\_lists.dm" @@ -6571,7 +6571,7 @@ #include "monkestation\code\modules\maptext\maptext_image_helper.dm" #include "monkestation\code\modules\martial_arts\tribal_claw.dm" #include "monkestation\code\modules\martial_arts\granters\tribal_claw_gr.dm" -#include "monkestation\code\modules\martial_arts\wounds\wounds.dm" +#include "monkestation\code\modules\martial_arts\spells\spells.dm" #include "monkestation\code\modules\mech_comp\_interface.dm" #include "monkestation\code\modules\mech_comp\_message.dm" #include "monkestation\code\modules\mech_comp\vending_machine.dm" From 880934ec368f0508cd6d8b445fb8d942fa968592 Mon Sep 17 00:00:00 2001 From: ven1883 <129563993+ven1883@users.noreply.github.com> Date: Thu, 27 Jun 2024 19:13:00 -0500 Subject: [PATCH 11/12] change spellname and description since these are mostly debug I think it'll be fine --- monkestation/code/modules/martial_arts/spells/spells.dm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/monkestation/code/modules/martial_arts/spells/spells.dm b/monkestation/code/modules/martial_arts/spells/spells.dm index 2ebf5dfa3006..f44af1fa61c0 100644 --- a/monkestation/code/modules/martial_arts/spells/spells.dm +++ b/monkestation/code/modules/martial_arts/spells/spells.dm @@ -1,8 +1,8 @@ //tribal claw -/datum/action/cooldown/spell/aoe/repulse/martial - name = "Tail Sweep" - desc = "Throw back attackers with a sweep of your tail." +/datum/action/cooldown/spell/aoe/repulse/martial/lizard + name = "martial Tail Sweep" + desc = "You should probably tell an admin if you can see this." background_icon_state = "bg_alien" overlay_icon_state = "bg_alien_border" button_icon = 'icons/mob/actions/actions_xeno.dmi' @@ -10,7 +10,7 @@ panel = "Alien" sound = 'sound/magic/tail_swing.ogg' - //cooldown_time = 15 SECONDS + cooldown_time = 0 spell_requirements = NONE check_flags = AB_CHECK_CONSCIOUS | AB_CHECK_INCAPACITATED From 21ffa1742f9f8ee0ba096526c618353ada1d223c Mon Sep 17 00:00:00 2001 From: ven1883 <129563993+ven1883@users.noreply.github.com> Date: Thu, 27 Jun 2024 19:14:29 -0500 Subject: [PATCH 12/12] Update tribal_claw.dm path change for clarity --- monkestation/code/modules/martial_arts/tribal_claw.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/monkestation/code/modules/martial_arts/tribal_claw.dm b/monkestation/code/modules/martial_arts/tribal_claw.dm index e39a8a979c45..307820d8d9f5 100644 --- a/monkestation/code/modules/martial_arts/tribal_claw.dm +++ b/monkestation/code/modules/martial_arts/tribal_claw.dm @@ -37,7 +37,7 @@ log_combat(attacker, target, "tail sweeped(Tribal Claw)", name) target.visible_message(span_warning("[attacker] sweeps [target]'s legs with their tail!"), \ span_userdanger("[attacker] sweeps your legs with their tail!")) - var/static/datum/action/cooldown/spell/aoe/repulse/martial/tail_sweep = new + var/static/datum/action/cooldown/spell/aoe/repulse/martial/lizard/tail_sweep = new tail_sweep.cast(attacker) //Face Scratch, deals 10 brute to head(reduced by armor), blurs the target's vision and gives them the confused effect for a short time.