[s] Martial arts granted by equipped items no longer persist through cloning. (#22684)

* Martial arts no longer persist through cloning

* Remove unnessecary var declarations

* Combo counter

---------

Co-authored-by: Adrer <adrermail@gmail.com>
This commit is contained in:
Adrer
2023-10-03 08:47:19 +02:00
committed by GitHub
parent 89214a1f59
commit 2672d02eb3
7 changed files with 38 additions and 16 deletions
+5 -1
View File
@@ -155,7 +155,7 @@
slowdown_active = SHOES_SLOWDOWN
magboot_state = "gravboots"
magpulse_name = "micro gravitational traction system"
var/datum/martial_art/grav_stomp/style = new //Only works with core and cell installed.
var/datum/martial_art/grav_stomp/style //Only works with core and cell installed.
var/jumpdistance = 5
var/jumpspeed = 3
var/recharging_rate = 6 SECONDS
@@ -165,6 +165,10 @@
var/obj/item/assembly/signaler/anomaly/grav/core = null
var/obj/item/stock_parts/cell/cell = null
/obj/item/clothing/shoes/magboots/gravity/Initialize()
. = ..()
style = new()
/obj/item/clothing/shoes/magboots/gravity/Destroy()
QDEL_NULL(style)
QDEL_NULL(cell)
+1 -1
View File
@@ -33,7 +33,7 @@
if(HAS_TRAIT(user, TRAIT_PACIFISM))
to_chat(H, "<span class='warning'>The arts of Corporate Judo echo uselessly in your head, the thought of violence disgusts you!</span>")
return
style.teach(H, 1)
style.teach(H, TRUE)
to_chat(H, "<span class='userdanger'>The belt's nanites infuse you with the prowess of a black belt in Corporate Judo!</span>")
to_chat(H, "<span class='danger'>See the martial arts tab for an explanation of combos.</span>")
return
+8 -4
View File
@@ -138,16 +138,20 @@
//Krav Maga Gloves
/obj/item/clothing/gloves/color/black/krav_maga
var/datum/martial_art/krav_maga/style = new
var/datum/martial_art/krav_maga/style
can_be_cut = FALSE
resistance_flags = NONE
/obj/item/clothing/gloves/color/black/krav_maga/Initialize()
. = ..()
style = new()
/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)
style.teach(H, TRUE)
/obj/item/clothing/gloves/color/black/krav_maga/dropped(mob/user)
..()
@@ -158,7 +162,7 @@
style.remove(H)
/obj/item/clothing/gloves/color/black/krav_maga/sec//more obviously named, given to sec
name = "krav maga gloves"
name = "Krav Maga gloves"
desc = "These gloves can teach you to perform Krav Maga using nanochips."
icon_state = "fightgloves"
item_state = "fightgloves"
@@ -168,7 +172,7 @@
RegisterSignal(src, COMSIG_PARENT_QDELETING, PROC_REF(alert_admins_on_destroy))
/obj/item/clothing/gloves/color/black/krav_maga/combat // for nukies
name = "combat gloves plus"
name = "Combat gloves plus"
desc = "These combat gloves have been upgraded with nanochips that teach the wearer Krav Maga."
icon_state = "combat"
item_state = "swat_gl"
+11 -2
View File
@@ -160,6 +160,7 @@
return
if(has_explaination_verb)
H.verbs |= /mob/living/carbon/human/proc/martial_arts_help
temporary = make_temporary
owner_UID = H.UID()
H.mind.known_martial_arts.Add(src)
H.mind.martial_art = get_highest_weight(H)
@@ -258,7 +259,11 @@
//ITEMS
/obj/item/clothing/gloves/boxing
var/datum/martial_art/boxing/style = new
var/datum/martial_art/boxing/style
/obj/item/clothing/gloves/boxing/Initialize()
. = ..()
style = new()
/obj/item/clothing/gloves/boxing/equipped(mob/user, slot)
if(!ishuman(user))
@@ -278,7 +283,11 @@
/obj/item/storage/belt/champion/wrestling
name = "Wrestling Belt"
var/datum/martial_art/wrestling/style = new
var/datum/martial_art/wrestling/style
/obj/item/storage/belt/champion/wrestling/Initialize()
. = ..()
style = new()
/obj/item/storage/belt/champion/wrestling/equipped(mob/user, slot)
if(!ishuman(user))
+5 -2
View File
@@ -572,10 +572,13 @@
actions_types = list()
var/datum/martial_art/muscle_implant/muscle_implant
/obj/item/organ/internal/cyberimp/arm/muscle/insert(mob/living/carbon/M, special, dont_remove_slot)
/obj/item/organ/internal/cyberimp/arm/muscle/Initialize()
. = ..()
muscle_implant = new()
muscle_implant.teach(M)
/obj/item/organ/internal/cyberimp/arm/muscle/insert(mob/living/carbon/M, special, dont_remove_slot)
. = ..()
muscle_implant.teach(M, TRUE)
/obj/item/organ/internal/cyberimp/arm/muscle/remove(mob/living/carbon/M, special)
. = ..()