Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add: Throwing knives martial art #3799

Merged
merged 12 commits into from
Nov 20, 2023
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
1
LiquidPotroh authored and Dimach committed Nov 20, 2023

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
commit 764731f31e60ef46650ec927ddb3a33fc1b3a2c1
5 changes: 5 additions & 0 deletions code/game/objects/effects/decals/contraband.dm
Original file line number Diff line number Diff line change
@@ -387,6 +387,11 @@
desc = "You see a slightly battered poster, which shows a RED toolbox and the inscription \"Danger, very robust!\", some people say that this red paint on the poster is made of real blood."
icon_state = "poster36"

/obj/structure/sign/poster/contraband/commando
name = "ы"
desc = "Вы видите мускулистого человека в боевом омбундировании, один лишь вид этого постера вносит аромат настоящей мужественности."
icon_state = "poster37"

//official posters
/obj/structure/sign/poster/official
poster_item_name = "motivational poster"
11 changes: 9 additions & 2 deletions code/game/objects/items/weapons/kitchen.dm
Original file line number Diff line number Diff line change
@@ -183,13 +183,20 @@
force = 15
throwforce = 15

/obj/item/kitchen/knife/combat/throwing
name = "throwing knife"
desc = "s"
icon_state = "throwingknife"
item_state = "throwingknife"
belt_icon = "survival_knife"
force = 15
throwforce = 15

/obj/item/kitchen/knife/combat/survival/bone
name = "bone dagger"
item_state = "bone_dagger"
icon_state = "bone_dagger"
belt_icon = "bone_dagger"
lefthand_file = 'icons/mob/inhands/items_lefthand.dmi'
righthand_file = 'icons/mob/inhands/items_righthand.dmi'
desc = "A sharpened bone. The bare minimum in survival."
materials = list()

24 changes: 24 additions & 0 deletions code/game/objects/items/weapons/storage/uplink_kits.dm
Original file line number Diff line number Diff line change
@@ -502,3 +502,27 @@ To apply, hold the injector a short distance away from the outer thigh before ap
/obj/item/storage/box/syndie_kit/bowman_conversion_kit/populate_contents()
new /obj/item/encryptionkey/syndicate(src)
new /obj/item/bowman_conversion_tool(src)

/obj/item/storage/box/syndie_kit/throwing_knives
name = "Handling knives"
desc = "Пропитанная запахом пороха, напалма и дешёвым виски коробка со всем нужным для выживания в этих джунглях."
icon_state = "commandos_kit"

/obj/item/storage/box/syndie_kit/throwing_knives/populate_contents()
new /obj/item/throwing_manual(src)
new /obj/item/clothing/under/pants/camo/commando(src)
new /obj/item/clothing/shoes/combat/commando(src)
new /obj/item/clothing/head/commando(src)
new /obj/structure/sign/poster/contraband/commando(src)
new /obj/item/kitchen/knife/combat(src)
new /obj/item/kitchen/knife/combat(src)
new /obj/item/clothing/accessory/holster/knife(src)
new /obj/item/storage/box/syndie_kit/throwing_knives_set(src)

/obj/item/storage/box/syndie_kit/throwing_knives_set
name = "s"
desc = "s"

/obj/item/storage/box/syndie_kit/throwing_knives_set/populate_contents()
for(var/i in 1 to 7)
new /obj/item/kitchen/knife/combat/throwing(src)
6 changes: 6 additions & 0 deletions code/modules/clothing/head/misc.dm
Original file line number Diff line number Diff line change
@@ -605,3 +605,9 @@
icon_state = "mr_chang_band"
item_state = "mr_chang_band"

/obj/item/clothing/head/commando
name = "ы"
desc = "ы"
w_class = WEIGHT_CLASS_TINY
icon_state = "commandos_band"
item_state = "commandos_band"
7 changes: 7 additions & 0 deletions code/modules/clothing/shoes/miscellaneous.dm
Original file line number Diff line number Diff line change
@@ -533,3 +533,10 @@
desc = "Made of wood. Used to support world's economics stable."
icon_state = "mr_chang_sandals"
item_state = "mr_chang_sandals"

/obj/item/clothing/shoes/combat/commando //basic syndicate combat boots for nuke ops and mob corpses
name = "boots"
desc = "Бутсы со стальной подошвой созданы чтобы крошить чьи то косточки"
can_cut_open = FALSE
icon_state = "commandos_boots"
item_state = "commandos_boots"
54 changes: 53 additions & 1 deletion code/modules/clothing/under/accessories/holster.dm
Original file line number Diff line number Diff line change
@@ -5,7 +5,7 @@
item_color = "holster"
slot = ACCESSORY_SLOT_UTILITY
var/holster_allow = /obj/item/gun
var/obj/item/gun/holstered = null
var/obj/item/holstered = null
actions_types = list(/datum/action/item_action/accessory/holster)
w_class = WEIGHT_CLASS_NORMAL // so it doesn't fit in pockets

@@ -151,3 +151,55 @@
desc = "A handgun holster. Made of expensive leather."
icon_state = "holster"
item_color = "holster_low"

/obj/item/clothing/accessory/holster/knife
name = "ы"
desc = "ы"
icon_state = "holsterknife"
item_color = "holsterknife"
holster_allow = /obj/item/kitchen/knife/combat
//actions_types = list(/datum/action/item_action/accessory/holster)

/obj/item/clothing/accessory/holster/knife/holster(obj/item/I, mob/user as mob)
if(holstered)
to_chat(user, "<span class='warning'>There is already a [holstered] holstered here!</span>")
return

if(!istype(I, /obj/item/kitchen/knife/combat))
to_chat(user, "<span class='warning'>Only knifes can be holstered!</span>")
return

var/obj/item/kitchen/knife/combat/W = I

if(!user.can_unEquip(W))
to_chat(user, "<span class='warning'>You can't let go of the [W]!</span>")
return

holstered = W
user.temporarily_remove_item_from_inventory(holstered)
holstered.forceMove(src)
holstered.add_fingerprint(user)
user.visible_message("<span class='notice'>[user] holsters the [holstered].</span>", "<span class='notice'>You holster the [holstered].</span>")
playsound(user.loc, 'sound/weapons/gun_interactions/1holster.ogg', 50, 1)

/obj/item/clothing/accessory/holster/knife/unholster(mob/user as mob)
if(!holstered || user.stat == DEAD)
return

if(user.stat == UNCONSCIOUS)
to_chat(user, "<span class='warning'>Вы не можете достать [holstered] сейчас!")
return

if(istype(user.get_active_hand(), /obj) && istype(user.get_inactive_hand(), /obj))
to_chat(user, "<span class='warning'>You need an empty hand to draw the [holstered]!</span>")
else
if(user.a_intent == INTENT_HARM)
user.visible_message("<span class='warning'>[user] takes the [holstered] out, ready to throw!</span>",
"<span class='warning'>You takes the [holstered] out, ready to throw!</span>")
else
user.visible_message("<span class='notice'>[user] takes the [holstered] out.</span>",
"<span class='notice'>You takes the [holstered] out</span>")
user.put_in_hands(holstered)
holstered.add_fingerprint(user)
holstered = null
playsound(user.loc, 'sound/weapons/gun_interactions/1unholster.ogg', 50, 1)
5 changes: 5 additions & 0 deletions code/modules/clothing/under/pants.dm
Original file line number Diff line number Diff line change
@@ -91,3 +91,8 @@
desc = "A pair of woodland camouflage pants. Probably not the best choice for a space station."
icon_state = "camopants"
item_color = "camopants"

/obj/item/clothing/under/pants/camo/commando
name = "ы"
desc = "ы"
armor = list("melee" = 10, "bullet" = 10, "laser" = 10, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50)
18 changes: 18 additions & 0 deletions code/modules/martial_arts/martial.dm
Original file line number Diff line number Diff line change
@@ -399,6 +399,24 @@
new /obj/effect/decal/cleanable/ash(get_turf(src))
qdel(src)

/obj/item/throwing_manual
name = "Handling knives"
desc = "Handling knives"
icon = 'icons/obj/library.dmi'
icon_state = "throwingknives"

/obj/item/throwing_manual/attack_self(mob/living/carbon/human/user)
if(!istype(user) || !user)
return
to_chat(user, "<span class='boldannounce'>You remember the basics of knife throwing.</span>")

var/datum/martial_art/throwing/MA = new
MA.teach(user)
user.temporarily_remove_item_from_inventory(src)
visible_message("<span class='warning'>[src] beeps ominously, and a moment later it bursts up in flames.</span>")
new /obj/effect/decal/cleanable/ash(get_turf(src))
qdel(src)

/obj/item/twohanded/bostaff
name = "bo staff"
desc = "A long, tall staff made of polished wood. Traditionally used in ancient old-Earth martial arts. Can be wielded to both kill and incapacitate."
2 changes: 2 additions & 0 deletions code/modules/martial_arts/throwing_knives.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/datum/martial_art/throwing
name = "Handling knives"
Binary file modified icons/mob/clothing/feet.dmi
Binary file not shown.
Binary file modified icons/mob/clothing/head.dmi
Binary file not shown.
Binary file modified icons/mob/clothing/species/drask/head.dmi
Binary file not shown.
Binary file modified icons/mob/clothing/species/drask/shoes.dmi
Binary file not shown.
Binary file modified icons/mob/clothing/species/grey/head.dmi
Binary file not shown.
Binary file modified icons/mob/clothing/species/monkey/head.dmi
Binary file not shown.
Binary file modified icons/mob/clothing/species/monkey/shoes.dmi
Binary file not shown.
Binary file modified icons/mob/clothing/species/unathi/shoes.dmi
Binary file not shown.
Binary file modified icons/mob/clothing/species/vox/head.dmi
Binary file not shown.
Binary file modified icons/mob/clothing/species/vox/shoes.dmi
Binary file not shown.
Binary file modified icons/mob/clothing/ties.dmi
Binary file not shown.
Binary file modified icons/mob/inhands/items_lefthand.dmi
Binary file not shown.
Binary file modified icons/mob/inhands/items_righthand.dmi
Binary file not shown.
Binary file modified icons/obj/clothing/hats.dmi
Binary file not shown.
Binary file modified icons/obj/clothing/shoes.dmi
Binary file not shown.
Binary file modified icons/obj/clothing/ties.dmi
Binary file not shown.
Binary file modified icons/obj/contraband.dmi
Binary file not shown.
Binary file modified icons/obj/kitchen.dmi
Binary file not shown.
Binary file modified icons/obj/library.dmi
Binary file not shown.
Binary file modified icons/obj/storage.dmi
Binary file not shown.
1 change: 1 addition & 0 deletions paradise.dme
Original file line number Diff line number Diff line change
@@ -2002,6 +2002,7 @@
#include "code\modules\martial_arts\plasma_fist.dm"
#include "code\modules\martial_arts\sleeping_carp.dm"
#include "code\modules\martial_arts\synthojitsu.dm"
#include "code\modules\martial_arts\throwing_knives.dm"
#include "code\modules\martial_arts\wrestling.dm"
#include "code\modules\martial_arts\combos\martial_combo.dm"
#include "code\modules\martial_arts\combos\adminfu\healing_palm.dm"