mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-23 03:57:13 +01:00
tweaks
This commit is contained in:
@@ -8,8 +8,8 @@
|
||||
/obj/item/his_grace
|
||||
name = "artistic toolbox"
|
||||
desc = "A toolbox painted bright green. Looking at it makes you feel uneasy."
|
||||
icon = 'icons/obj/items.dmi'
|
||||
icon_state = "his_grace"
|
||||
icon = 'icons/obj/storage.dmi'
|
||||
icon_state = "green"
|
||||
item_state = "artistic_toolbox"
|
||||
lefthand_file = 'icons/mob/inhands/equipment/toolbox_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/equipment/toolbox_righthand.dmi'
|
||||
@@ -17,6 +17,8 @@
|
||||
force = 12
|
||||
attack_verb = list("robusted")
|
||||
hitsound = 'sound/weapons/smash.ogg'
|
||||
drop_sound = 'sound/items/handling/toolbox_drop.ogg'
|
||||
pickup_sound = 'sound/items/handling/toolbox_pickup.ogg'
|
||||
var/awakened = FALSE
|
||||
var/bloodthirst = HIS_GRACE_SATIATED
|
||||
var/prev_bloodthirst = HIS_GRACE_SATIATED
|
||||
@@ -30,6 +32,7 @@
|
||||
START_PROCESSING(SSprocessing, src)
|
||||
GLOB.poi_list |= src
|
||||
RegisterSignal(src, COMSIG_MOVABLE_POST_THROW, .proc/move_gracefully)
|
||||
update_icon()
|
||||
|
||||
/obj/item/his_grace/Destroy()
|
||||
STOP_PROCESSING(SSprocessing, src)
|
||||
@@ -38,6 +41,17 @@
|
||||
GLOB.poi_list -= src
|
||||
return ..()
|
||||
|
||||
/obj/item/his_grace/update_icon()
|
||||
icon_state = ascended ? "gold" : "green"
|
||||
item_state = ascended ? "toolbox_gold" : "artistic_toolbox"
|
||||
cut_overlays()
|
||||
if(ascended)
|
||||
add_overlay("triple_latch")
|
||||
else if(awakened)
|
||||
add_overlay("single_latch_open")
|
||||
else
|
||||
add_overlay("single_latch")
|
||||
|
||||
/obj/item/his_grace/attack_self(mob/living/user)
|
||||
if(!awakened)
|
||||
INVOKE_ASYNC(src, .proc/awaken, user)
|
||||
@@ -48,8 +62,8 @@
|
||||
else
|
||||
..()
|
||||
|
||||
/obj/item/his_grace/CtrlClick(mob/user) //you can't pull his grace
|
||||
return
|
||||
/obj/item/his_grace/can_be_pulled(user, grab_state, force, show_message = FALSE) //you can't pull his grace
|
||||
return FALSE
|
||||
|
||||
/obj/item/his_grace/examine(mob/user)
|
||||
. = ..()
|
||||
@@ -137,6 +151,7 @@
|
||||
adjust_bloodthirst(1)
|
||||
force_bonus = HIS_GRACE_FORCE_BONUS * length(contents)
|
||||
playsound(user, 'sound/effects/pope_entry.ogg', 100)
|
||||
update_icon()
|
||||
move_gracefully()
|
||||
|
||||
/obj/item/his_grace/proc/move_gracefully()
|
||||
@@ -144,22 +159,7 @@
|
||||
|
||||
if(!awakened)
|
||||
return
|
||||
var/static/list/transforms
|
||||
if(!transforms)
|
||||
var/matrix/M1 = matrix()
|
||||
var/matrix/M2 = matrix()
|
||||
var/matrix/M3 = matrix()
|
||||
var/matrix/M4 = matrix()
|
||||
M1.Translate(-1, 0)
|
||||
M2.Translate(0, 1)
|
||||
M3.Translate(1, 0)
|
||||
M4.Translate(0, -1)
|
||||
transforms = list(M1, M2, M3, M4)
|
||||
|
||||
animate(src, transform = transforms[1], time = 0.2, loop = -1)
|
||||
animate(transform = transforms[2], time = 0.1)
|
||||
animate(transform = transforms[3], time = 0.2)
|
||||
animate(transform = transforms[4], time = 0.3)
|
||||
animate_rumble(src)
|
||||
|
||||
/obj/item/his_grace/proc/drowse() //Good night, Mr. Grace.
|
||||
if(!awakened || ascended)
|
||||
@@ -169,20 +169,20 @@
|
||||
playsound(loc, 'sound/weapons/batonextend.ogg', 100, TRUE)
|
||||
name = initial(name)
|
||||
desc = initial(desc)
|
||||
icon_state = initial(icon_state)
|
||||
animate(src, transform = matrix())
|
||||
gender = initial(gender)
|
||||
force = initial(force)
|
||||
force_bonus = initial(force_bonus)
|
||||
awakened = FALSE
|
||||
bloodthirst = 0
|
||||
update_icon()
|
||||
|
||||
/obj/item/his_grace/proc/consume(mob/living/meal) //Here's your dinner, Mr. Grace.
|
||||
if(!meal)
|
||||
return
|
||||
var/victims = 0
|
||||
meal.visible_message("<span class='warning'>[src] swings open and devours [meal]!</span>", "<span class='his_grace big bold'>[src] consumes you!</span>")
|
||||
meal.adjustBruteLoss(200)
|
||||
meal.adjustBruteLoss(300)
|
||||
playsound(meal, 'sound/misc/desceration-02.ogg', 75, TRUE)
|
||||
playsound(src, 'sound/items/eatfood.ogg', 100, TRUE)
|
||||
meal.forceMove(src)
|
||||
@@ -248,13 +248,14 @@
|
||||
/obj/item/his_grace/proc/ascend()
|
||||
if(ascended)
|
||||
return
|
||||
var/mob/living/carbon/human/master = loc
|
||||
force_bonus += ascend_bonus
|
||||
desc = "A legendary toolbox and a distant artifact from The Age of Three Powers. On its three latches engraved are the words \"The Sun\", \"The Moon\", and \"The Stars\". The entire toolbox has the words \"The World\" engraved into its sides."
|
||||
icon_state = "his_grace_ascended"
|
||||
item_state = "toolbox_gold"
|
||||
ascended = TRUE
|
||||
update_icon()
|
||||
playsound(src, 'sound/effects/his_grace_ascend.ogg', 100)
|
||||
var/mob/living/carbon/human/master = loc
|
||||
if(istype(master))
|
||||
master.visible_message("<span class='his_grace big bold'>Gods will be watching.</span>")
|
||||
name = "[master]'s mythical toolbox of three powers"
|
||||
|
||||
@@ -1159,44 +1159,45 @@
|
||||
/obj/item/toy/windup_toolbox
|
||||
name = "windup toolbox"
|
||||
desc = "A replica toolbox that rumbles when you turn the key."
|
||||
icon = 'icons/obj/items.dmi'
|
||||
icon_state = "his_grace"
|
||||
icon = 'icons/obj/storage.dmi'
|
||||
icon_state = "green"
|
||||
item_state = "artistic_toolbox"
|
||||
lefthand_file = 'icons/mob/inhands/equipment/toolbox_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/equipment/toolbox_righthand.dmi'
|
||||
hitsound = 'sound/weapons/smash.ogg'
|
||||
drop_sound = 'sound/items/handling/toolbox_drop.ogg'
|
||||
pickup_sound = 'sound/items/handling/toolbox_pickup.ogg'
|
||||
attack_verb = list("robusted")
|
||||
var/active = FALSE
|
||||
|
||||
/obj/item/toy/windup_toolbox/Initialize(mapload)
|
||||
. = ..()
|
||||
update_icon()
|
||||
|
||||
/obj/item/toy/windup_toolbox/update_icon()
|
||||
..()
|
||||
cut_overlays()
|
||||
if(active)
|
||||
add_overlay("single_latch_open")
|
||||
else
|
||||
add_overlay("single_latch")
|
||||
|
||||
/obj/item/toy/windup_toolbox/attack_self(mob/user)
|
||||
if(!active)
|
||||
to_chat(user, "<span class='notice'>You wind up [src], it begins to rumble.</span>")
|
||||
active = TRUE
|
||||
update_icon()
|
||||
playsound(src, 'sound/effects/pope_entry.ogg', 100)
|
||||
Rumble()
|
||||
addtimer(CALLBACK(src, .proc/stopRumble), 600)
|
||||
animate_rumble(src)
|
||||
addtimer(CALLBACK(src, .proc/stopRumble), 60 SECONDS)
|
||||
else
|
||||
to_chat(user, "<span class='warning'>[src] is already active!</span>")
|
||||
|
||||
/obj/item/toy/windup_toolbox/proc/Rumble()
|
||||
var/static/list/transforms
|
||||
if(!transforms)
|
||||
var/matrix/M1 = matrix()
|
||||
var/matrix/M2 = matrix()
|
||||
var/matrix/M3 = matrix()
|
||||
var/matrix/M4 = matrix()
|
||||
M1.Translate(-1, 0)
|
||||
M2.Translate(0, 1)
|
||||
M3.Translate(1, 0)
|
||||
M4.Translate(0, -1)
|
||||
transforms = list(M1, M2, M3, M4)
|
||||
animate(src, transform = transforms[1], time = 0.2, loop = -1)
|
||||
animate(transform = transforms[2], time = 0.1)
|
||||
animate(transform = transforms[3], time = 0.2)
|
||||
animate(transform = transforms[4], time = 0.3)
|
||||
|
||||
/obj/item/toy/windup_toolbox/proc/stopRumble()
|
||||
active = FALSE
|
||||
update_icon()
|
||||
visible_message("<span class='warning'>[src] slowly stops rattling and falls still, its latch snapping shut.</span>") //subtle difference
|
||||
playsound(loc, 'sound/weapons/batonextend.ogg', 100, TRUE)
|
||||
animate(src, transform = matrix())
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user