mimejutsu

This commit is contained in:
Aurorablade
2016-04-22 16:07:56 -04:00
parent 991976fbcb
commit ec263dbfca
9 changed files with 145 additions and 19 deletions
@@ -19,8 +19,10 @@
var/mob/living/carbon/human/H = imp_in
if(!ishuman(H))
return
style.teach(H)
qdel(src)
if(istype(H.martial_art, /datum/martial_art/krav_maga))
style.remove(H)
else
style.teach(H,1)
/obj/item/weapon/implanter/krav_maga
name = "implanter (krav maga)"
+1 -1
View File
@@ -103,7 +103,7 @@
icon_state ="scroll2"
var/used = 0
/obj/item/weapon/plasma_fist_scroll/attack_self(mob/user as mob)
/obj/item/weapon/adminfu_scroll/attack_self(mob/user as mob)
if(!ishuman(user))
return
if(!used)
+11 -9
View File
@@ -72,7 +72,7 @@
"<span class='userdanger'>[A] leg sweeps you!</span>")
playsound(get_turf(A), 'sound/effects/hit_kick.ogg', 50, 1, -1)
D.apply_damage(5, BRUTE)
D.Weaken(4)//originally was 6, lowered since you could kill somebody in one stun
D.Weaken(2)
return 1
/datum/martial_art/krav_maga/proc/quick_choke(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)//is actually lung punch
@@ -140,23 +140,25 @@ datum/martial_art/krav_maga/grab_act(var/mob/living/carbon/human/A, var/mob/livi
//Krav Maga Gloves
/obj/item/clothing/gloves/krav_maga
desc = "These gloves can teach you to perform Krav Maga using nanochips."
name = "black gloves"
icon_state = "black"
item_state = "bgloves"
/obj/item/clothing/gloves/color/black/krav_maga
var/datum/martial_art/krav_maga/style = new
/obj/item/clothing/gloves/krav_maga/equipped(mob/user, slot)
/obj/item/clothing/gloves/color/black/krav_maga/equipped(mob/user, slot)
if(!ishuman(user))
return
if(slot == slot_gloves)
var/mob/living/carbon/human/H = user
style.teach(H,1)
/obj/item/clothing/gloves/krav_maga/dropped(mob/user)
/obj/item/clothing/gloves/color/black/krav_maga/dropped(mob/user)
if(!ishuman(user))
return
var/mob/living/carbon/human/H = user
if(H.get_item_by_slot(slot_gloves) == src)
style.remove(H)
style.remove(H)
/obj/item/clothing/gloves/color/black/krav_maga/sec//more obviously named, given to sec
name = "krav maga gloves"
desc = "These gloves can teach you to perform Krav Maga using nanochips."
icon_state = "fightgloves"
item_state = "fightgloves"
+119
View File
@@ -0,0 +1,119 @@
#define MIMECHUCKS_COMBO "DH"
#define MIMESMOKE_COMBO "DD"
#define MIMEPALM_COMBO "GD"
/datum/martial_art/mimejutsu
name = "Mimejutsu"
help_verb = /mob/living/carbon/human/proc/mimejutsu_help
/datum/martial_art/mimejutsu/proc/check_streak(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
if(findtext(streak,MIMECHUCKS_COMBO))
streak = ""
mimeChuck(A,D)
return 1
if(findtext(streak,MIMESMOKE_COMBO))
streak = ""
mimeSmoke(A,D)
return 1
if(findtext(streak,MIMEPALM_COMBO))
streak = ""
mimePalm(A,D)
return 1
return 0
/datum/martial_art/mimejutsu/proc/mimeChuck(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
if(!D.stat && !D.stunned && !D.weakened)
var/damage = rand(5, 8) + A.species.punchdamagelow
if(!damage)
playsound(D.loc, 'sound/weapons/punchmiss.ogg', 25, 1, -1)
D.visible_message("<span class='warning'>[A] swings invisible nunchcuks at [D]..and misses?</span>")
return 0
var/obj/item/organ/external/affecting = D.get_organ(ran_zone(A.zone_sel.selecting))
var/armor_block = D.run_armor_check(affecting, "melee")
D.visible_message("<span class='danger'>[A] has hit [D] with invisible nuncucks!</span>", \
"<span class='userdanger'>[A] has hit [D] with a with invisible nuncuck!</span>")
playsound(get_turf(A), 'sound/weapons/thudswoosh.ogg', 50, 1, -1)
D.apply_damage(damage, STAMINA, affecting, armor_block)
add_logs(D, A, "mimechucked")
return 1
return basic_hit(A,D)
/datum/martial_art/mimejutsu/proc/mimeSmoke(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
D.visible_message("<span class='danger'>[A] throws an invisible smoke bomb!!</span>")
var/datum/effect/system/bad_smoke_spread/smoke = new /datum/effect/system/bad_smoke_spread()
smoke.set_up(5, 0, D.loc)
smoke.start()
return basic_hit(A,D)
/datum/martial_art/mimejutsu/proc/mimePalm(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
if(!D.stat && !D.stunned && !D.weakened)
D.visible_message("<span class='danger'>[A] has barely touched [D] with thier palm!</span>", \
"<span class='userdanger'>[A] hovers thier palm over your face!</span>")
var/atom/throw_target = get_edge_target_turf(D, get_dir(D, get_step_away(D, A)))
D.throw_at(throw_target, 200, 4,A)
return basic_hit(A,D)
/datum/martial_art/mimejutsu/disarm_act(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
add_to_streak("D",D)
if(check_streak(A,D))
return 1
return ..()
/datum/martial_art/mimejutsu/grab_act(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
add_to_streak("G",D)
if(check_streak(A,D))
return 1
return 1
/datum/martial_art/mimejutsu/harm_act(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
add_to_streak("H",D)
if(check_streak(A,D))
return 1
A.do_attack_animation(D)
return 1
/obj/item/weapon/mimejutsu_scroll
name = "Mimejutsu 'scroll'"
desc = "Its a beret with a note stapled to it..."
icon = 'icons/obj/clothing/hats.dmi'
icon_state = "beret"
var/used = 0
/obj/item/weapon/mimejutsu_scroll/attack_self(mob/user as mob)
if(!ishuman(user))
return
if(!used)
var/mob/living/carbon/human/H = user
var/datum/martial_art/mimejutsu/F = new/datum/martial_art/mimejutsu(null)
F.teach(H)
to_chat(H, "<span class='boldannounce'>You have learned the ancient martial art of mimes.</span>")
used = 1
desc = "It used to have something stapled to it..the staple is still there."
name = "beret with staple"
icon_state = "beret"
/mob/living/carbon/human/proc/mimejutsu_help()
set name = "Recall Ancient Mimeing"
set desc = "Remember the martial techniques of Mimejutsu."
set category = "Mimejutsu"
to_chat(usr, "<b><i>You make a invisible box around yourself and recall the teachings of Mimejutsu...</i></b>")
to_chat(usr, "<span class='notice'>Mimechucks</span>: Disarm Harm. Hits the opponent with invisible nunchucks.")
to_chat(usr, "<span class='notice'>Smokebomb</span>: Disarm Disarm. Drops a mime smokebomb.")
to_chat(usr, "<span class='notice'>Silent Palm</span>: Grab Disarm. Using mime energy throw someone back.")
@@ -55,6 +55,8 @@
switch(M.a_intent)
if(I_HELP)
if(attacker_style && attacker_style.help_act(H, src))//adminfu only...
return 1
if(can_operate(src))
if(health >= config.health_threshold_crit)
if(src.surgeries.len)
Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 20 KiB

+8 -7
View File
@@ -188,7 +188,6 @@
#include "code\datums\datumvars.dm"
#include "code\datums\gas_mixture.dm"
#include "code\datums\hud.dm"
#include "code\datums\martial.dm"
#include "code\datums\material_container.dm"
#include "code\datums\mind.dm"
#include "code\datums\mixed.dm"
@@ -1336,12 +1335,14 @@
#include "code\modules\logic\dual_input.dm"
#include "code\modules\logic\logic_base.dm"
#include "code\modules\logic\mono_input.dm"
#include "code\modules\Martial Arts\adminfu.dm"
#include "code\modules\Martial Arts\brawling.dm"
#include "code\modules\Martial Arts\krav_maga.dm"
#include "code\modules\Martial Arts\plasma_fist.dm"
#include "code\modules\Martial Arts\sleeping_carp.dm"
#include "code\modules\Martial Arts\wrestleing.dm"
#include "code\modules\martial arts\adminfu.dm"
#include "code\modules\martial arts\brawling.dm"
#include "code\modules\martial arts\krav_maga.dm"
#include "code\modules\martial arts\martial.dm"
#include "code\modules\martial arts\mimejutsu.dm"
#include "code\modules\martial arts\plasma_fist.dm"
#include "code\modules\martial arts\sleeping_carp.dm"
#include "code\modules\martial arts\wrestleing.dm"
#include "code\modules\media\jukebox.dm"
#include "code\modules\media\machinery.dm"
#include "code\modules\media\mediamanager.dm"