ninja stungloves nerf + quirks (#77810)

## About The Pull Request
the ninja stungloves are no longer a knockdown + shove in one click (not
a stun). clicking on people now first does the shove and THEN knocks
someone down for 3 seconds after a 0.3 second delay. this means you need
to click on them twice
ninja's stealth module now gives you the silent footsteps trait when
active
all ninjas now have the light step and freerunning quirks

## Why It's Good For The Game
ninjas really cool but he doesn't really need 1 click stuns in addition
to all his other tools, he can escape pretty much anything and has a
sword for melee encounters, and knocking someone down instantly is still
really powerful
ninjas getting quirks that fit them is cute i think, makes sense and is
useful

## Changelog
🆑
balance: ninja's stealth module gives silent footsteps when active
balance: all ninjas now have the light step and freerunning quirks
balance: ninja's hacker module shove no longer stuns in 1 hit. first
shove knocks down and pushes away, second one stuns
fix: fixes ninja shoves not causing sparks
qol: the person in an energy net is now reasonable to hit, the dark part
of the sprite is now an underlay, so you can click the person inside the
net pretty easily and if you wanna hit the net you click the green part
or the darker sides that the human sprite doesnt cover
/🆑
This commit is contained in:
Fikou
2023-08-23 21:24:11 -04:00
committed by GitHub
parent 2021f8d17a
commit e7ab583580
5 changed files with 31 additions and 12 deletions
@@ -12,17 +12,22 @@
desc = "It's a net made of green energy."
icon = 'icons/effects/effects.dmi'
icon_state = "energynet"
density = TRUE//Can't pass through.
opacity = FALSE //Can see through.
mouse_opacity = MOUSE_OPACITY_ICON//So you can hit it with stuff.
anchored = TRUE//Can't drag/grab the net.
density = TRUE //Can't pass through.
anchored = TRUE //Can't drag/grab the net.
layer = ABOVE_ALL_MOB_LAYER
plane = ABOVE_GAME_PLANE
max_integrity = 60 //How much health it has.
can_buckle = 1
can_buckle = TRUE
buckle_lying = 0
buckle_prevents_pull = TRUE
/obj/structure/energy_net/Initialize(mapload)
. = ..()
var/image/underlay = image(icon, "energynet_underlay")
underlay.layer = BELOW_MOB_LAYER
SET_PLANE_EXPLICIT(underlay, GAME_PLANE, src)
add_overlay(underlay)
/obj/structure/energy_net/play_attack_sound(damage, damage_type = BRUTE, damage_flag = 0)
if(damage_type == BRUTE || damage_type == BURN)
playsound(src, 'sound/weapons/slash.ogg', 80, TRUE)
@@ -318,11 +318,15 @@
//Got that electric touch
var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread()
spark_system.set_up(5, 0, loc)
playsound(src, SFX_SPARKS, 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE)
spark_system.start()
visible_message(span_danger("[ninja] electrocutes [src] with [ninja.p_their()] touch!"), span_userdanger("[ninja] electrocutes you with [ninja.p_their()] touch!"))
Knockdown(3 SECONDS)
addtimer(CALLBACK(src, PROC_REF(ninja_knockdown)), 0.3 SECONDS)
return NONE
/mob/living/carbon/proc/ninja_knockdown()
Knockdown(3 SECONDS)
set_jitter_if_lower(3 SECONDS)
//CAMERAS//
/obj/machinery/camera/ninjadrain_act(mob/living/carbon/human/ninja, obj/item/mod/module/hacker/hacking_module)
if(isEmpProof(TRUE))
@@ -11,8 +11,6 @@
preview_outfit = /datum/outfit/ninja_preview
///Whether or not this ninja will obtain objectives
var/give_objectives = TRUE
///Whether or not this ninja receives the standard equipment
var/give_equipment = TRUE
/**
* Proc that equips the space ninja outfit on a given individual. By default this is the owner of the antagonist datum.
@@ -110,9 +108,9 @@
if(give_objectives)
addObjectives()
addMemories()
if(give_equipment)
equip_space_ninja(owner.current)
equip_space_ninja(owner.current)
owner.current.add_quirk(/datum/quirk/freerunning)
owner.current.add_quirk(/datum/quirk/light_step)
owner.current.mind.set_assigned_role(SSjob.GetJobType(/datum/job/space_ninja))
owner.current.mind.special_role = ROLE_NINJA
return ..()
+12
View File
@@ -76,6 +76,18 @@
use_power_cost = DEFAULT_CHARGE_DRAIN * 5
cooldown_time = 3 SECONDS
/obj/item/mod/module/stealth/ninja/on_activation()
. = ..()
if(!.)
return
ADD_TRAIT(mod.wearer, TRAIT_SILENT_FOOTSTEPS, MOD_TRAIT)
/obj/item/mod/module/stealth/ninja/on_deactivation(display_message = TRUE, deleting = FALSE)
. = ..()
if(!.)
return
REMOVE_TRAIT(mod.wearer, TRAIT_SILENT_FOOTSTEPS, MOD_TRAIT)
///Camera Vision - Prevents flashes, blocks tracking.
/obj/item/mod/module/welding/camera_vision
name = "MOD camera vision module"
Binary file not shown.

Before

Width:  |  Height:  |  Size: 916 KiB

After

Width:  |  Height:  |  Size: 916 KiB