Files
CHOMPStation2/code/game/machinery/computer/arcade.dm
noisomehollow@lycos.com 86760c3841 RD now has a personal locker.
CMO now has a personal locker.
CE gets a pair of mag boots in his locker. Previously commented out.
Added department head sets to head lockers.
Fixed MULE dropoff at Security and Kitchen.
Syndicate space suits now slow you down by a small amount.
New prize at the arcade.
Added back Robocop selection for Security borgs.
More CentCom area adjustments.

git-svn-id: http://tgstation13.googlecode.com/svn/trunk@556 316c924e-a436-60f5-8080-3fe189b3f50e
2010-12-07 01:08:36 +00:00

194 lines
5.5 KiB
Plaintext

/obj/machinery/computer/arcade/attackby(I as obj, user as mob)
if(istype(I, /obj/item/weapon/screwdriver))
playsound(src.loc, 'Screwdriver.ogg', 50, 1)
if(do_after(user, 20))
if (src.stat & BROKEN)
user << "\blue The broken glass falls out."
var/obj/computerframe/A = new /obj/computerframe( src.loc )
new /obj/item/weapon/shard( src.loc )
var/obj/item/weapon/circuitboard/arcade/M = new /obj/item/weapon/circuitboard/arcade( A )
for (var/obj/C in src)
C.loc = src.loc
A.circuit = M
A.state = 3
A.icon_state = "3"
A.anchored = 1
del(src)
else
user << "\blue You disconnect the monitor."
var/obj/computerframe/A = new /obj/computerframe( src.loc )
var/obj/item/weapon/circuitboard/arcade/M = new /obj/item/weapon/circuitboard/arcade( A )
for (var/obj/C in src)
C.loc = src.loc
A.circuit = M
A.state = 4
A.icon_state = "4"
A.anchored = 1
del(src)
else
src.attack_hand(user)
return
/obj/machinery/computer/arcade/New()
..()
var/name_action
var/name_part1
var/name_part2
name_action = pick("Defeat ", "Annihilate ", "Save ", "Strike ", "Stop ", "Destroy ", "Robust ", "Romance ")
name_part1 = pick("the Automatic ", "Farmer ", "Lord ", "Professor ", "the Evil ", "the Dread King ", "the Space ", "Lord ")
name_part2 = pick("Melonoid", "Murdertron", "Sorcerer", "Ruin", "Jeff", "Ectoplasm", "Crushulon")
src.enemy_name = dd_replacetext((name_part1 + name_part2), "the ", "")
src.name = (name_action + name_part1 + name_part2)
/obj/machinery/computer/arcade/attack_ai(mob/user as mob)
return src.attack_hand(user)
/obj/machinery/computer/arcade/attack_paw(mob/user as mob)
return src.attack_hand(user)
/obj/machinery/computer/arcade/attack_hand(mob/user as mob)
if(..())
return
user.machine = src
var/dat = "<a href='byond://?src=\ref[src];close=1'>Close</a>"
dat += "<center><h4>[src.enemy_name]</h4></center>"
dat += "<br><center><h3>[src.temp]</h3></center>"
dat += "<br><center>Health: [src.player_hp] | Magic: [src.player_mp] | Enemy Health: [src.enemy_hp]</center>"
if (src.gameover)
dat += "<center><b><a href='byond://?src=\ref[src];newgame=1'>New Game</a>"
else
dat += "<center><b><a href='byond://?src=\ref[src];attack=1'>Attack</a> | "
dat += "<a href='byond://?src=\ref[src];heal=1'>Heal</a> | "
dat += "<a href='byond://?src=\ref[src];charge=1'>Recharge Power</a>"
dat += "</b></center>"
user << browse(dat, "window=arcade")
onclose(user, "arcade")
return
/obj/machinery/computer/arcade/Topic(href, href_list)
if(..())
return
if (!src.blocked)
if (href_list["attack"])
src.blocked = 1
var/attackamt = rand(2,6)
src.temp = "You attack for [attackamt] damage!"
src.updateUsrDialog()
sleep(10)
src.enemy_hp -= attackamt
src.arcade_action()
else if (href_list["heal"])
src.blocked = 1
var/pointamt = rand(1,3)
var/healamt = rand(6,8)
src.temp = "You use [pointamt] magic to heal for [healamt] damage!"
src.updateUsrDialog()
sleep(10)
src.player_mp -= pointamt
src.player_hp += healamt
src.blocked = 1
src.updateUsrDialog()
src.arcade_action()
else if (href_list["charge"])
src.blocked = 1
var/chargeamt = rand(4,7)
src.temp = "You regain [chargeamt] points"
src.player_mp += chargeamt
src.updateUsrDialog()
sleep(10)
src.arcade_action()
if (href_list["close"])
usr.machine = null
usr << browse(null, "window=arcade")
else if (href_list["newgame"]) //Reset everything
temp = "New Round"
player_hp = 30
player_mp = 10
enemy_hp = 45
enemy_mp = 20
gameover = 0
src.add_fingerprint(usr)
src.updateUsrDialog()
return
/obj/machinery/computer/arcade/proc/arcade_action()
if ((src.enemy_mp <= 0) || (src.enemy_hp <= 0))
src.gameover = 1
src.temp = "[src.enemy_name] has fallen! Rejoice!"
var/obj/item/prize
var/prizeselect = pick(1,2,3,4,5,6)
switch(prizeselect)
if(1)
prize = new /obj/item/weapon/spacecash(src.loc)
prize.name = "space ticket"
prize.desc = "It's almost like actual currency!"
if(2)
prize = new /obj/item/toy/blink(src.loc)
if(3)
prize = new /obj/item/clothing/under/syndicate/tacticool(src.loc)
if(4)
prize = new /obj/item/toy/sword(src.loc)
if(5)
prize = new /obj/item/toy/ammo/gun(src.loc)
prize = new /obj/item/toy/gun(src.loc)
if(6)
prize = new /obj/item/toy/crossbow(src.loc)
else if ((src.enemy_mp <= 5) && (prob(70)))
var/stealamt = rand(2,3)
src.temp = "[src.enemy_name] steals [stealamt] of your power!"
src.player_mp -= stealamt
src.updateUsrDialog()
if (src.player_mp <= 0)
src.gameover = 1
sleep(10)
src.temp = "You have been drained! GAME OVER"
else if ((src.enemy_hp <= 10) && (src.enemy_mp > 4))
src.temp = "[src.enemy_name] heals for 4 health!"
src.enemy_hp += 4
src.enemy_mp -= 4
else
var/attackamt = rand(3,6)
src.temp = "[src.enemy_name] attacks for [attackamt] damage!"
src.player_hp -= attackamt
if ((src.player_mp <= 0) || (src.player_hp <= 0))
src.gameover = 1
src.temp = "You have been crushed! GAME OVER"
src.blocked = 0
return
/obj/machinery/computer/arcade/power_change()
if(stat & BROKEN)
icon_state = "arcadeb"
else
if( powered() )
icon_state = initial(icon_state)
stat &= ~NOPOWER
else
spawn(rand(0, 15))
src.icon_state = "arcade0"
stat |= NOPOWER