From f552ab1b7f9d6e4a0e82ab7ba883566a3e7c5204 Mon Sep 17 00:00:00 2001 From: Spacemanspark Date: Tue, 10 Nov 2015 15:51:47 -0600 Subject: [PATCH 01/12] Prevents toy chainsaws from stunning people when used. --- code/game/objects/items/weapons/twohanded.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index 49c1b25f2a1..3beb535b70f 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -357,6 +357,7 @@ sharp = 1 edge = 1 no_embed = 1 + var/isrealchainsaw = 1 /obj/item/weapon/twohanded/chainsaw/update_icon() if(wielded) @@ -373,7 +374,8 @@ if(!isliving(target)) return else - target.Weaken(4) + if(isrealchainsaw == 1) + target.Weaken(4) ..() return else From c688479e614cc3264afbeca7ba04b0c53a5251a0 Mon Sep 17 00:00:00 2001 From: Spacemanspark Date: Tue, 10 Nov 2015 15:53:39 -0600 Subject: [PATCH 02/12] Toy chainsaw! --- code/game/objects/items/toys.dm | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index f52de29785b..58958c9d989 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -18,6 +18,7 @@ * Foam armblade * Mini Gibber * Toy xeno + * Toy chainsaws */ @@ -1413,4 +1414,26 @@ obj/item/toy/cards/deck/syndicate/black /obj/item/toy/russian_revolver/proc/spin_cylinder() - bullet_position = rand(1,6) \ No newline at end of file + bullet_position = rand(1,6) + +/* + * Rubber Chainsaw + */ + +/obj/item/weapon/twohanded/chainsaw/rubber + name = "Rubber Chainsaw" + desc = "A toy chainsaw with a rubber edge. Ages 8 and up" + force = 0 + throwforce = 0 + throw_speed = 4 + throw_range = 20 + force_unwielded = 0 + force_wielded = 0 + sharp = 0 + edge = 0 + origin_tech = null + isrealchainsaw = 0 + +/obj/item/weapon/twohanded/chainsaw/rubber/wield() + ..() + flags &= ~NODROP From f8f8f95fbe9e3771ebd85d7126389b8ba9afafff Mon Sep 17 00:00:00 2001 From: Spacemanspark Date: Tue, 10 Nov 2015 15:55:20 -0600 Subject: [PATCH 03/12] Prevents toy chainsaws from making dead people into meat. --- code/modules/mob/living/carbon/human/human_defense.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 56d197e3b88..9faba9e271b 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -189,7 +189,7 @@ emp_act /mob/living/carbon/human/proc/attacked_by(var/obj/item/I, var/mob/living/user, var/def_zone) if(!I || !user) return 0 - if((istype(I, /obj/item/weapon/butch/meatcleaver) || istype(I, /obj/item/weapon/twohanded/chainsaw)) && src.stat == DEAD && user.a_intent == I_HARM) + if((istype(I, /obj/item/weapon/butch/meatcleaver) || istype(I, /obj/item/weapon/twohanded/chainsaw) || !istype(I, /obj/item/weapon/twohanded/chainsaw/rubber)) && src.stat == DEAD && user.a_intent == I_HARM) var/obj/item/weapon/reagent_containers/food/snacks/meat/human/newmeat = new /obj/item/weapon/reagent_containers/food/snacks/meat/human(get_turf(src.loc)) newmeat.name = src.real_name + newmeat.name newmeat.subjectname = src.real_name @@ -477,4 +477,4 @@ emp_act /mob/living/carbon/human/water_act(volume, temperature, source) ..() if(temperature >= 330) bodytemperature = bodytemperature + (temperature - bodytemperature) - if(temperature <= 280) bodytemperature = bodytemperature - (bodytemperature - temperature) \ No newline at end of file + if(temperature <= 280) bodytemperature = bodytemperature - (bodytemperature - temperature) From 2e1e0ee3ea3b184330fa7697f372c666597e0463 Mon Sep 17 00:00:00 2001 From: Spacemanspark Date: Tue, 10 Nov 2015 16:20:05 -0600 Subject: [PATCH 04/12] Use an istype statement rather than a new variable. --- code/game/objects/items/weapons/twohanded.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index 3beb535b70f..d4618ff1df6 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -357,7 +357,6 @@ sharp = 1 edge = 1 no_embed = 1 - var/isrealchainsaw = 1 /obj/item/weapon/twohanded/chainsaw/update_icon() if(wielded) @@ -374,7 +373,7 @@ if(!isliving(target)) return else - if(isrealchainsaw == 1) + if(!istype(src, /obj/item/weapon/twohanded/chainsaw/rubber)) target.Weaken(4) ..() return From 38072c2372b9e8c4728d07689136be9e56c5f8ca Mon Sep 17 00:00:00 2001 From: Spacemanspark Date: Tue, 10 Nov 2015 16:20:48 -0600 Subject: [PATCH 05/12] Removes the now nonexistant variable from toy chainsaws. --- code/game/objects/items/toys.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 58958c9d989..50b47a6d496 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -1432,7 +1432,6 @@ obj/item/toy/cards/deck/syndicate/black sharp = 0 edge = 0 origin_tech = null - isrealchainsaw = 0 /obj/item/weapon/twohanded/chainsaw/rubber/wield() ..() From 8192127aec204638379f5e5323097c149170703a Mon Sep 17 00:00:00 2001 From: Spacemanspark Date: Tue, 10 Nov 2015 19:04:53 -0600 Subject: [PATCH 06/12] Removes the istype() statement from chainsaws. --- code/game/objects/items/weapons/twohanded.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index d4618ff1df6..49c1b25f2a1 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -373,8 +373,7 @@ if(!isliving(target)) return else - if(!istype(src, /obj/item/weapon/twohanded/chainsaw/rubber)) - target.Weaken(4) + target.Weaken(4) ..() return else From 8a9908e6dbda8e54ae2231d2882f8611921342d5 Mon Sep 17 00:00:00 2001 From: Spacemanspark Date: Tue, 10 Nov 2015 19:05:18 -0600 Subject: [PATCH 07/12] Makes toy chainsaws into their own base. --- code/game/objects/items/toys.dm | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 50b47a6d496..04702c8a888 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -1419,20 +1419,29 @@ obj/item/toy/cards/deck/syndicate/black /* * Rubber Chainsaw */ - -/obj/item/weapon/twohanded/chainsaw/rubber - name = "Rubber Chainsaw" +/obj/item/weapon/twohanded/toy/chainsaw + name = "Toy Chainsaw" desc = "A toy chainsaw with a rubber edge. Ages 8 and up" + icon_state = "chainsaw0" force = 0 throwforce = 0 throw_speed = 4 throw_range = 20 - force_unwielded = 0 - force_wielded = 0 - sharp = 0 - edge = 0 - origin_tech = null + wieldsound = 'sound/weapons/chainsawstart.ogg' + attack_verb = list("sawed", "cut", "hacked", "carved", "cleaved", "butchered", "felled", "timbered") + +obj/item/weapon/twohanded/toy/chainsaw/update_icon() + if(wielded) + icon_state = "chainsaw[wielded]" + else + icon_state = "chainsaw0" -/obj/item/weapon/twohanded/chainsaw/rubber/wield() - ..() - flags &= ~NODROP +/obj/item/weapon/twohanded/toy/chainsaw/attack(mob/target as mob, mob/living/user as mob) + if(wielded) + playsound(loc, 'sound/weapons/chainsaw.ogg', 100, 1, -1) + ..() + return + else + playsound(loc, "swing_hit", 50, 1, -1) + ..() + return From df882e5d4b6625972c53d1ee6ac0012daba09bf1 Mon Sep 17 00:00:00 2001 From: Spacemanspark Date: Tue, 10 Nov 2015 19:06:48 -0600 Subject: [PATCH 08/12] Removes the toy chainsaw statement from human_defense. --- code/modules/mob/living/carbon/human/human_defense.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 9faba9e271b..1ea23ebf53a 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -189,7 +189,7 @@ emp_act /mob/living/carbon/human/proc/attacked_by(var/obj/item/I, var/mob/living/user, var/def_zone) if(!I || !user) return 0 - if((istype(I, /obj/item/weapon/butch/meatcleaver) || istype(I, /obj/item/weapon/twohanded/chainsaw) || !istype(I, /obj/item/weapon/twohanded/chainsaw/rubber)) && src.stat == DEAD && user.a_intent == I_HARM) + if((istype(I, /obj/item/weapon/butch/meatcleaver) || istype(I, /obj/item/weapon/twohanded/chainsaw)) && src.stat == DEAD && user.a_intent == I_HARM) var/obj/item/weapon/reagent_containers/food/snacks/meat/human/newmeat = new /obj/item/weapon/reagent_containers/food/snacks/meat/human(get_turf(src.loc)) newmeat.name = src.real_name + newmeat.name newmeat.subjectname = src.real_name From 51d874fb8fcf36bec170fd2b13a81f0fb60ec114 Mon Sep 17 00:00:00 2001 From: Spacemanspark Date: Tue, 10 Nov 2015 19:11:36 -0600 Subject: [PATCH 09/12] D'OH. --- code/game/objects/items/toys.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 04702c8a888..d3f9b7ce009 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -1430,7 +1430,7 @@ obj/item/toy/cards/deck/syndicate/black wieldsound = 'sound/weapons/chainsawstart.ogg' attack_verb = list("sawed", "cut", "hacked", "carved", "cleaved", "butchered", "felled", "timbered") -obj/item/weapon/twohanded/toy/chainsaw/update_icon() +/obj/item/weapon/twohanded/toy/chainsaw/update_icon() if(wielded) icon_state = "chainsaw[wielded]" else From 20822be0cb707d1c1d6348185738454131f3398d Mon Sep 17 00:00:00 2001 From: Spacemanspark Date: Tue, 10 Nov 2015 19:15:45 -0600 Subject: [PATCH 10/12] Makes code smaller. --- code/game/objects/items/toys.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index d3f9b7ce009..01490b37164 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -1439,9 +1439,8 @@ obj/item/toy/cards/deck/syndicate/black /obj/item/weapon/twohanded/toy/chainsaw/attack(mob/target as mob, mob/living/user as mob) if(wielded) playsound(loc, 'sound/weapons/chainsaw.ogg', 100, 1, -1) - ..() return else playsound(loc, "swing_hit", 50, 1, -1) - ..() + ..() return From 2365949a69ca168a9e44095b1f26eb4b23a5757e Mon Sep 17 00:00:00 2001 From: Spacemanspark Date: Tue, 10 Nov 2015 19:19:29 -0600 Subject: [PATCH 11/12] FIXFIXFIXFIXFIXAHHHHHHHHHHH --- code/game/objects/items/toys.dm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 01490b37164..17abde6ca5f 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -1439,8 +1439,7 @@ obj/item/toy/cards/deck/syndicate/black /obj/item/weapon/twohanded/toy/chainsaw/attack(mob/target as mob, mob/living/user as mob) if(wielded) playsound(loc, 'sound/weapons/chainsaw.ogg', 100, 1, -1) - return else playsound(loc, "swing_hit", 50, 1, -1) ..() - return + return From eb28de5e420de5d8c6b8b9acacfd21070d88166c Mon Sep 17 00:00:00 2001 From: Spacemanspark Date: Tue, 17 Nov 2015 19:31:48 -0600 Subject: [PATCH 12/12] Removes useless return statement from toy chainsaws If this breaks something I'm going to remove Tigercat's soul. --- code/game/objects/items/toys.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 17abde6ca5f..ca5660a3ef7 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -1442,4 +1442,3 @@ obj/item/toy/cards/deck/syndicate/black else playsound(loc, "swing_hit", 50, 1, -1) ..() - return