mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-05 22:43:46 +00:00
## About The Pull Request 1. Penbang A flashbang disguised as a pen. Clicking the pen arms the flashbang and has no other visual or audio tell besides the pen clicking. The fuse's length is based on the angle the pen cap is twisted. Works as a normal pen otherwise. 2. Camera Flash A camera with a high power flash. Clicking on an adjacent target will flash them, ie, as a handheld flash. Works as a normal camera otherwise - no tell. 3. Dagger Boot A pair of jackboots with a blade embedded in them. Makes your kicks sharp, meaning they will cause bleeding. Looks like normal jackboots otherwise, though has a tell on double-examine 4. Monster Cube Box A box containing 5 monster cubes, which spawn into a random monster when wet. Monsters include Migos, Carps, Bears, Spiders, Wolves... 5. Spider Bite Scroll A martial art focused around kicks and grabs. - Punches against standing, staggered targets will instead kick them, applying the bonus accuracy and damage that you'd expect from a kick. (Also combos with the dagger boots) - All kicks have a chance to disarm the target's active weapon. Chance increases per sequential kick. - Grants you the innate ability to tackle. This form of tackling has a very high skill modifier, meaning you are very likely to get a positive outcome (or at least, not fail). You also get up fast from it. - Your grabs are 20% harder to escape from and deal an additional 10 stam damage on fail. ## Why It's Good For The Game 1, 2, 3: Just some random flavorful items, giving them some more toys to use to complete bounties. 4: Shenanigans, for people who just wanna do "funny thing" instead of focusing on big loot. 5: I figured it would fill a fun niche: Spies are commonly depicted as martial artists, and the only martial arts they can obtain is Krav Maga (it's not unique to Spies) and Sleeping Carp (it's not unique to Spies). This gives them their own thing that people may look forward to acquiring and playing around with. As for the design of it, I wanted to add something that synergizes with one of the other other items, so in the field if you notice both of them pop up you really want to go for both. The rest of the design I just filled in as vaguely useful and flavorful tools a spy might want for kidnapping or detaining people: Better grabs, tackling, and disarms. Then I just went with the flavor of it being something the Spider Clan used to teach to their Spies / Ninjas, kinda like an analog to the real life Ninjutsu. (Maybe we can give it to Space Ninjas as well later... since it doesn't especially benefit Ninjas in any way.) ## Changelog 🆑 Melbert add: Adds 5 rewards to the Spy item pool: Penbang, Camera Flash, Dagger-Boot, Monster Cube Box, and the Spider Bite martial art /🆑
73 lines
2.9 KiB
Plaintext
73 lines
2.9 KiB
Plaintext
/datum/martial_art/spiders_bite
|
|
name = "Spider's Bite"
|
|
id = MARTIALART_SPIDERSBITE
|
|
help_verb = /mob/living/proc/spiders_bite_help
|
|
grab_damage_modifier = 10
|
|
grab_escape_chance_modifier = -20
|
|
/// REF() to the last mob we kicked
|
|
var/last_hit_ref
|
|
/// Counts the number of sequential kicks the user has landed on a target
|
|
var/last_hit_count = 0
|
|
/// Reference to the tackling component applied
|
|
var/datum/component/tackler/tackle_comp
|
|
|
|
/datum/martial_art/spiders_bite/activate_style(mob/living/new_holder)
|
|
. = ..()
|
|
RegisterSignal(new_holder, COMSIG_HUMAN_PUNCHED, PROC_REF(kick_disarm))
|
|
tackle_comp = new_holder.AddComponent(/datum/component/tackler, \
|
|
stamina_cost = 20, \
|
|
base_knockdown = 0.2 SECONDS, \
|
|
range = 5, \
|
|
speed = 1.5, \
|
|
skill_mod = 6, \
|
|
min_distance = 1, \
|
|
silent_gain = TRUE, \
|
|
)
|
|
|
|
/datum/martial_art/spiders_bite/deactivate_style(mob/living/old_holder)
|
|
. = ..()
|
|
UnregisterSignal(old_holder, COMSIG_HUMAN_PUNCHED)
|
|
QDEL_NULL(tackle_comp)
|
|
|
|
/datum/martial_art/spiders_bite/proc/kick_disarm(mob/living/source, mob/living/target, damage, attack_type, obj/item/bodypart/affecting, final_armor_block, kicking, limb_sharpness)
|
|
SIGNAL_HANDLER
|
|
|
|
if(!kicking)
|
|
last_hit_ref = null
|
|
return
|
|
var/new_hit_ref = REF(target)
|
|
if(last_hit_ref == new_hit_ref)
|
|
last_hit_count++
|
|
else
|
|
last_hit_count = 1
|
|
last_hit_ref = new_hit_ref
|
|
|
|
if(!prob(33 * last_hit_count))
|
|
return
|
|
|
|
var/obj/item/weapon = target.get_active_held_item()
|
|
if(isnull(weapon) || !target.dropItemToGround(weapon))
|
|
return
|
|
source.visible_message(
|
|
span_warning("[source] knocks [target]'s [weapon.name] out of [target.p_their()] hands with a kick!"),
|
|
span_notice("You channel the flow of gravity and knock [target]'s [weapon.name] out of [target.p_their()] hands with a kick!"),
|
|
span_hear("You hear a thud, followed by a clatter."),
|
|
)
|
|
|
|
/datum/martial_art/spiders_bite/get_prefered_attacking_limb(mob/living/martial_artist, mob/living/target)
|
|
if(!target.has_status_effect(/datum/status_effect/staggered))
|
|
return null
|
|
|
|
return IS_LEFT_INDEX(martial_artist.active_hand_index) ? BODY_ZONE_L_LEG : BODY_ZONE_R_LEG
|
|
|
|
/mob/living/proc/spiders_bite_help()
|
|
set name = "Recall Teachings"
|
|
set desc = "Remember the Spider Bite technique used by the Spider Clan."
|
|
set category = "Spider's Bite"
|
|
|
|
to_chat(usr, span_info("<b><i>You retreat inward and recall the Spider Clan's techniques...</i></b>\n\
|
|
• Remember, <b>Many Legged Spider</b>: Unarmed attacks against staggered opponents will always be kicks - granting you greater accuracy and damage.\n\
|
|
• Remember, <b>Jump and Climb</b>: Right clicking on throw mode will perform a tackle which is far far less likely to fail.\n\
|
|
• Remember, <b>Flow of Gravity</b>: Kicking opponents will have a chance to knock their weapons to the floor. The chance increases for each sequential kick.\n\
|
|
• Remember, <b>Wrap in Web</b>: Your grabs will be harder to escape from."))
|