From 9043402483565bc52673ff47cdb8a3241f486815 Mon Sep 17 00:00:00 2001 From: Ghommie Date: Mon, 8 Jul 2019 14:34:14 +0200 Subject: [PATCH] Rubber toolboxes. --- code/__HELPERS/unsorted.dm | 14 ++-- code/datums/components/bouncy.dm | 36 ++++++++++ code/game/objects/items/his_grace.dm | 2 +- code/game/objects/items/storage/toolbox.dm | 64 ++++++++++++++++-- code/game/objects/items/toys.dm | 2 +- .../inhands/equipment/toolbox_lefthand.dmi | Bin 739 -> 732 bytes .../inhands/equipment/toolbox_righthand.dmi | Bin 740 -> 733 bytes icons/obj/storage.dmi | Bin 66096 -> 66090 bytes tgstation.dme | 1 + 9 files changed, 106 insertions(+), 13 deletions(-) create mode 100644 code/datums/components/bouncy.dm diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 2f69b63ae9..05ea9e0c47 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -1239,19 +1239,21 @@ GLOBAL_REAL_VAR(list/stack_trace_storage) pixel_x = initialpixelx pixel_y = initialpixely -/atom/proc/do_jiggle(targetangle = 45) +/atom/proc/do_jiggle(targetangle = 45, timer = 20) var/matrix/OM = matrix(transform) var/matrix/M = matrix(transform) + var/halftime = timer * 0.5 M.Turn(pick(-targetangle, targetangle)) - animate(src, transform = M, time = 10, easing = ELASTIC_EASING) - animate(src, transform = OM, time = 10, easing = ELASTIC_EASING) + animate(src, transform = M, time = halftime, easing = ELASTIC_EASING) + animate(src, transform = OM, time = halftime, easing = ELASTIC_EASING) -/atom/proc/do_squish(squishx = 1.2, squishy = 0.6) +/atom/proc/do_squish(squishx = 1.2, squishy = 0.6, timer = 20) var/matrix/OM = matrix(transform) var/matrix/M = matrix(transform) + var/halftime = timer * 0.5 M.Scale(squishx, squishy) - animate(src, transform = M, time = 10, easing = BOUNCE_EASING) - animate(src, transform = OM, time = 10, easing = BOUNCE_EASING) + animate(src, transform = M, time = halftime, easing = BOUNCE_EASING) + animate(src, transform = OM, time = halftime, easing = BOUNCE_EASING) /proc/weightclass2text(var/w_class) switch(w_class) diff --git a/code/datums/components/bouncy.dm b/code/datums/components/bouncy.dm new file mode 100644 index 0000000000..2584e46121 --- /dev/null +++ b/code/datums/components/bouncy.dm @@ -0,0 +1,36 @@ +/datum/component/bouncy + dupe_mode = COMPONENT_DUPE_UNIQUE_PASSARGS + var/bouncy_mod = 1 + var/list/bounce_signals = list(COMSIG_MOVABLE_IMPACT, COMSIG_ITEM_HIT_REACT, COMSIG_ITEM_ATTACK) + +/datum/component/bouncy/Initialize(_bouncy_mod, list/_bounce_signals) + if(!ismovableatom(parent)) + return COMPONENT_INCOMPATIBLE + bouncy_mod = _bouncy_mod + bounce_signals = _bounce_signals + +/datum/component/bouncy/InheritComponent(datum/component/bouncy/B, original, _bouncy_mod, list/_bounce_signals) + bouncy_mod = max(bouncy_mod, _bouncy_mod) + var/list/diff_bounces = difflist(bounce_signals, _bounce_signals, TRUE) + for(var/bounce in diff_bounces) + bounce_signals += bounce + RegisterSignal(parent, bounce, .proc/bounce_up) + +/datum/component/bouncy/RegisterWithParent() + RegisterSignal(parent, bounce_signals, .proc/bounce_up) + +/datum/component/bouncy/UnregisterFromParent() + UnregisterSignal(parent, bounce_signals) + +/datum/component/bouncy/proc/bounce_up(datum/source) + var/atom/movable/A = parent + switch(rand(1, 3)) + if(1) + A.do_jiggle(45 + rand(-10, 10) * bouncy_mod, 14) + if(2) + var/min_b = 0.6/bouncy_mod + var/max_b = 1.2 * bouncy_mod + A.do_squish(rand(min_b, max_b), rand(min_b, max_b), 14) + if(3) + var/pixelshift = 8 * bouncy_mod + A.Shake(pixelshift, pixelshift, duration = 15) diff --git a/code/game/objects/items/his_grace.dm b/code/game/objects/items/his_grace.dm index 49a5cfaf35..f9d00b6213 100644 --- a/code/game/objects/items/his_grace.dm +++ b/code/game/objects/items/his_grace.dm @@ -8,7 +8,7 @@ name = "artistic toolbox" desc = "A toolbox painted bright green. Looking at it makes you feel uneasy." icon_state = "his_grace" - item_state = "artistic_toolbox" + item_state = "toolbox_green" lefthand_file = 'icons/mob/inhands/equipment/toolbox_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/toolbox_righthand.dmi' icon = 'icons/obj/items_and_weapons.dmi' diff --git a/code/game/objects/items/storage/toolbox.dm b/code/game/objects/items/storage/toolbox.dm index b2313969f0..b6c45bc7ab 100644 --- a/code/game/objects/items/storage/toolbox.dm +++ b/code/game/objects/items/storage/toolbox.dm @@ -1,3 +1,5 @@ +GLOBAL_LIST_EMPTY(rubber_toolbox_icons) + /obj/item/storage/toolbox name = "toolbox" desc = "Danger. Very robust." @@ -16,21 +18,25 @@ hitsound = 'sound/weapons/smash.ogg' var/latches = "single_latch" var/has_latches = TRUE + var/can_rubberify = TRUE -/obj/item/storage/toolbox/Initialize() +/obj/item/storage/toolbox/Initialize(mapload) . = ..() if(has_latches) if(prob(10)) latches = "double_latch" if(prob(1)) latches = "triple_latch" + if(mapload && can_rubberify && prob(5)) + rubberify() update_icon() /obj/item/storage/toolbox/update_icon() ..() cut_overlays() if(has_latches) - add_overlay(latches) + var/icon/I = icon('icons/obj/storage.dmi', latches) + add_overlay(I) /obj/item/storage/toolbox/suicide_act(mob/user) @@ -39,8 +45,6 @@ /obj/item/storage/toolbox/emergency name = "emergency toolbox" - icon_state = "red" - item_state = "toolbox_red" /obj/item/storage/toolbox/emergency/PopulateContents() new /obj/item/crowbar/red(src) @@ -59,6 +63,7 @@ name = "rusty red toolbox" icon_state = "toolbox_red_old" has_latches = FALSE + can_rubberify = FALSE /obj/item/storage/toolbox/mechanical name = "mechanical toolbox" @@ -77,6 +82,7 @@ name = "rusty blue toolbox" icon_state = "toolbox_blue_old" has_latches = FALSE + can_rubberify = FALSE /obj/item/storage/toolbox/mechanical/old/heirloom name = "old, robust toolbox" //this will be named "X family toolbox" @@ -151,6 +157,7 @@ resistance_flags = FIRE_PROOF | ACID_PROOF w_class = WEIGHT_CLASS_HUGE attack_verb = list("robusted", "crushed", "smashed") + can_rubberify = FALSE var/fabricator_type = /obj/item/clockwork/replica_fabricator/scarab /obj/item/storage/toolbox/brass/ComponentInitialize() @@ -191,6 +198,7 @@ item_state = "toolbox_blue" w_class = WEIGHT_CLASS_HUGE //heyo no bohing this! force = 18 //spear damage + can_rubberify = FALSE /obj/item/storage/toolbox/plastitanium/afterattack(atom/A, mob/user, proximity) . = ..() @@ -204,7 +212,7 @@ name = "artistic toolbox" desc = "A toolbox painted bright green. Why anyone would store art supplies in a toolbox is beyond you, but it has plenty of extra space." icon_state = "green" - item_state = "artistic_toolbox" + item_state = "toolbox_green" w_class = WEIGHT_CLASS_GIGANTIC //Holds more than a regular toolbox! /obj/item/storage/toolbox/artistic/ComponentInitialize() @@ -235,6 +243,7 @@ throwforce = 14 throw_speed = 5 throw_range = 10 + can_rubberify = FALSE /obj/item/storage/toolbox/gold_real/PopulateContents() new /obj/item/screwdriver/nuke(src) @@ -259,3 +268,48 @@ has_latches = FALSE force = 0 throwforce = 0 + can_rubberify = FALSE + +/obj/item/storage/toolbox/proc/rubberify() + name = "rubber [name]" + desc = replacetext(desc, "Danger", "Bouncy") + desc = replacetext(desc, "robust", "safe") + desc = replacetext(desc, "heavier", "bouncier") + flags_1 = null + materials = null + damtype = STAMINA + force += 5 //to compensate the higher stamina K.O. threshold compared to actual health. + throwforce += 5 + attack_verb += "bounced" + if(!GLOB.rubber_toolbox_icons[icon_state]) + generate_rubber_toolbox_icon() + icon = GLOB.rubber_toolbox_icons[icon_state] + AddComponent(/datum/component/bouncy) + . = ..() + +/obj/item/storage/toolbox/proc/generate_rubber_toolbox_icon() + var/icon/new_icon = icon(icon, icon_state) + var/icon/smooth = icon('icons/obj/storage.dmi', "rubber_toolbox_blend") + new_icon.Blend(smooth, ICON_MULTIPLY) + new_icon = fcopy_rsc(new_icon) + GLOB.rubber_toolbox_icons[icon_state] = new_icon + +/obj/item/storage/toolbox/rubber + name = "rubber toolbox" + desc = "Bouncy. Very safe." + flags_1 = null + materials = null + damtype = STAMINA + force = 17 + throwforce = 17 + attack_verb = list("robusted", "bounced") + can_rubberify = FALSE //we are already the future. + +/obj/item/storage/toolbox/rubber/Initialize() + icon_state = pick("blue", "red", "yellow", "green") + item_state = "toolbox_[icon_state]" + if(!GLOB.rubber_toolbox_icons[icon_state]) + generate_rubber_toolbox_icon() + icon = GLOB.rubber_toolbox_icons[icon_state] + . = ..() + AddComponent(/datum/component/bouncy) \ No newline at end of file diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 274afe15e0..9239973247 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -294,7 +294,7 @@ name = "windup toolbox" desc = "A replica toolbox that rumbles when you turn the key." icon_state = "his_grace" - item_state = "artistic_toolbox" + item_state = "toolbox_green" lefthand_file = 'icons/mob/inhands/equipment/toolbox_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/toolbox_righthand.dmi' var/active = FALSE diff --git a/icons/mob/inhands/equipment/toolbox_lefthand.dmi b/icons/mob/inhands/equipment/toolbox_lefthand.dmi index b2fa42ce5ef158b0437dedcc6ab768f3151bd794..801df7abb88d14babf870fa0860e37eb7efa27f9 100644 GIT binary patch delta 55 zcmV-70LcI21>6OYe*u$`fORIK6{i=arsff?y0|hgC6jow^K)=|Qdz;(&jlQU0LTtv N^z?a|rL!Ud!2!#88KnRK delta 62 zcmV-E0Kxy<1>*&fe*v12fORc`iW7@UGK)(xljEVfh&H{rGA|{QXw~WYIXL~Ptl;YB U0uDp~Ea7BEx@n=}vl{`y0gs{`M*si- diff --git a/icons/mob/inhands/equipment/toolbox_righthand.dmi b/icons/mob/inhands/equipment/toolbox_righthand.dmi index ccb15982dd2ae79e269c2333612f3cf89922e3b4..f38ddfc9a4aea30f277491293f4d0107da1d47bc 100644 GIT binary patch delta 55 zcmV-70LcI31>FUZc>$A=dUYnE6{i=arsff?y0|hgC6jow^K)=|Qdz;(&jlQU0LTtv N^z?a|rL!CX$N|Zl8JqwB delta 62 zcmV-E0Kxy=1>^;gc>$V{dUY*=iW7@UGK)(xljEVfh&H{rGA|{QXw~WYIXL~Ptl;YB U0uDp~Ea7BEx@n=}vlRiz0gZkgJ^%m! diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi index 9037bfc0d01c485ed0576b3ea8eedf9bbec00865..2a6ec3955ac85c5e2f692d9f2faff015567c270d 100644 GIT binary patch delta 25277 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 NZ(b`)mq;1;{SO~|ma6~& diff --git a/tgstation.dme b/tgstation.dme index 5a4f096f3a..3a14a0700b 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -336,6 +336,7 @@ #include "code\datums\components\_component.dm" #include "code\datums\components\anti_magic.dm" #include "code\datums\components\armor_plate.dm" +#include "code\datums\components\bouncy.dm" #include "code\datums\components\butchering.dm" #include "code\datums\components\caltrop.dm" #include "code\datums\components\chasm.dm"