* map tweaks/shuttle engines * helpers and defines * global/onclick * controllers and datums * mapping * game folder * some other stuff * some modules * modules that aren't mobs * some mob stuff * new player stuff * mob living * silicon stuff * simple animal things * carbon/ayylmao * update_icons * carbon/human * sounds and tools * icons and stuff * hippie grinder changes + tgui * kitchen.dmi * compile issues fixed * mapfix * Mapfixes 2.0 * mapedit2.0 * mapmerger pls * Revert "mapedit2.0" This reverts commit 74139a3cacea10df7aafca06c0a10bd3daf3a481. * clean up vore folder + 2 hotfixes * admin ticket refinement * Blob tweaks and LAZYADD * LAZYADD IS LAZY * Magic strings purged * DEFINES NEED HIGHER PRIORITIES * Only a sleepless idiot deals in absolute TRUE|FALSE * u h g * progress bar fix * reverts ticket logs * there's always that one guy * fixes and stuff * 2/27 fixes * game folder stuff * stats * some modules again * clothing stuff gets vg clothing out of the main files * everything not mobs again * mob stuff * maps, tgui, sql stuff * icons * additional fixes and compile errors * don't need this anymore * Oh right this isn't needed anymore * maint bar re-added * that doesn't need to be here * stupid events * wtfeven * probably makes Travis happy * don't care to fix the grinder atm * fixes vending sprites, changes turret * lethal, not lethals * overylays are finicky creatures * lazy fix for bleeding edgy (#252) * map tweaks/shuttle engines * helpers and defines * global/onclick * controllers and datums * mapping * game folder * some other stuff * some modules * modules that aren't mobs * some mob stuff * new player stuff * mob living * silicon stuff * simple animal things * carbon/ayylmao * update_icons * carbon/human * sounds and tools * icons and stuff * hippie grinder changes + tgui * kitchen.dmi * compile issues fixed * mapfix * Mapfixes 2.0 * mapedit2.0 * mapmerger pls * Revert "mapedit2.0" This reverts commit 74139a3cacea10df7aafca06c0a10bd3daf3a481. * clean up vore folder + 2 hotfixes * admin ticket refinement * Blob tweaks and LAZYADD * LAZYADD IS LAZY * Magic strings purged * DEFINES NEED HIGHER PRIORITIES * Only a sleepless idiot deals in absolute TRUE|FALSE * u h g * progress bar fix * reverts ticket logs * there's always that one guy * fixes and stuff * 2/27 fixes * game folder stuff * stats * some modules again * clothing stuff gets vg clothing out of the main files * everything not mobs again * mob stuff * maps, tgui, sql stuff * icons * additional fixes and compile errors * don't need this anymore * Oh right this isn't needed anymore * maint bar re-added * that doesn't need to be here * stupid events * wtfeven * probably makes Travis happy * don't care to fix the grinder atm * fixes vending sprites, changes turret * lethal, not lethals * overylays are finicky creatures
97 lines
3.2 KiB
Plaintext
97 lines
3.2 KiB
Plaintext
/obj/structure/punching_bag
|
|
name = "punching bag"
|
|
desc = "A punching bag. Can you get to speed level 4???"
|
|
icon = 'goon/icons/obj/fitness.dmi'
|
|
icon_state = "punchingbag"
|
|
anchored = 1
|
|
layer = WALL_OBJ_LAYER
|
|
var/list/hit_sounds = list('sound/weapons/genhit1.ogg', 'sound/weapons/genhit2.ogg', 'sound/weapons/genhit3.ogg',\
|
|
'sound/weapons/punch1.ogg', 'sound/weapons/punch2.ogg', 'sound/weapons/punch3.ogg', 'sound/weapons/punch4.ogg')
|
|
|
|
/obj/structure/punching_bag/attack_hand(mob/user as mob)
|
|
flick("[icon_state]2", src)
|
|
playsound(src.loc, pick(src.hit_sounds), 25, 1, -1)
|
|
|
|
/obj/structure/stacklifter
|
|
name = "Weight Machine"
|
|
desc = "Just looking at this thing makes you feel tired."
|
|
icon = 'goon/icons/obj/fitness.dmi'
|
|
icon_state = "fitnesslifter"
|
|
density = 1
|
|
anchored = 1
|
|
|
|
/obj/structure/stacklifter/attack_hand(mob/user as mob)
|
|
if(in_use)
|
|
user << "It's already in use - wait a bit."
|
|
return
|
|
else
|
|
in_use = 1
|
|
icon_state = "fitnesslifter2"
|
|
user.setDir(SOUTH)
|
|
user.Stun(4)
|
|
user.loc = src.loc
|
|
var/bragmessage = pick("pushing it to the limit","going into overdrive","burning with determination","rising up to the challenge", "getting strong now","getting ripped")
|
|
user.visible_message("<B>[user] is [bragmessage]!</B>")
|
|
var/lifts = 0
|
|
while (lifts++ < 6)
|
|
if (user.loc != src.loc)
|
|
break
|
|
sleep(3)
|
|
animate(user, pixel_y = -2, time = 3)
|
|
sleep(3)
|
|
animate(user, pixel_y = -4, time = 3)
|
|
sleep(3)
|
|
playsound(user, 'goon/sound/effects/spring.ogg', 60, 1)
|
|
|
|
playsound(user, 'sound/machines/click.ogg', 60, 1)
|
|
in_use = 0
|
|
user.pixel_y = 0
|
|
var/finishmessage = pick("You feel stronger!","You feel like you can take on the world!","You feel robust!","You feel indestructible!")
|
|
icon_state = "fitnesslifter"
|
|
user << finishmessage
|
|
|
|
/obj/structure/weightlifter
|
|
name = "Weight Machine"
|
|
desc = "Just looking at this thing makes you feel tired."
|
|
icon = 'goon/icons/obj/fitness.dmi'
|
|
icon_state = "fitnessweight"
|
|
density = 1
|
|
anchored = 1
|
|
|
|
/obj/structure/weightlifter/attack_hand(mob/user as mob)
|
|
if(in_use)
|
|
user << "It's already in use - wait a bit."
|
|
return
|
|
else
|
|
in_use = 1
|
|
icon_state = "fitnessweight-c"
|
|
user.setDir(SOUTH)
|
|
user.Stun(4)
|
|
user.loc = src.loc
|
|
var/image/W = image('goon/icons/obj/fitness.dmi',"fitnessweight-w")
|
|
W.layer = WALL_OBJ_LAYER
|
|
add_overlay(W)
|
|
var/bragmessage = pick("pushing it to the limit","going into overdrive","burning with determination","rising up to the challenge", "getting strong now","getting ripped")
|
|
user.visible_message("<B>[user] is [bragmessage]!</B>")
|
|
var/reps = 0
|
|
user.pixel_y = 5
|
|
while (reps++ < 6)
|
|
if (user.loc != src.loc)
|
|
break
|
|
|
|
for (var/innerReps = max(reps, 1), innerReps > 0, innerReps--)
|
|
sleep(3)
|
|
animate(user, pixel_y = (user.pixel_y == 3) ? 5 : 3, time = 3)
|
|
|
|
playsound(user, 'goon/sound/effects/spring.ogg', 60, 1)
|
|
|
|
sleep(3)
|
|
animate(user, pixel_y = 2, time = 3)
|
|
sleep(3)
|
|
playsound(user, 'sound/machines/click.ogg', 60, 1)
|
|
in_use = 0
|
|
animate(user, pixel_y = 0, time = 3)
|
|
var/finishmessage = pick("You feel stronger!","You feel like you can take on the world!","You feel robust!","You feel indestructible!")
|
|
icon_state = "fitnessweight"
|
|
cut_overlay(W)
|
|
user << "[finishmessage]" |