home *** CD-ROM | disk | FTP | other *** search
- property barSprite, videoSprite, las1Sprite, las2Sprite, roc1Sprite, roc2Sprite, nukeSprite, x1Sprite, x2Sprite, x3Sprite, ENERGYRATIO, BARSTARTPOS, currentSprite, indexMember, myAnimCount, DELAYTIMER
-
- on new me, bs, vs, l1s, l2s, r1s, r2s, ns, x1s, x2s, x3s
- set barSprite to bs
- set videoSprite to vs
- set las1Sprite to l1s
- set las2Sprite to l2s
- set roc1Sprite to r1s
- set roc2Sprite to r2s
- set nukeSprite to ns
- set x1Sprite to x1s
- set x2Sprite to x2s
- set x3Sprite to x3s
- set ENERGYRATIO to getEnergyRatio(gGameObj) / 16.0
- set DELAYTIMER to the timer
- resetAnimation(me, las1Sprite, "LX12.pct")
- set BARSTARTPOS to the locV of sprite barSprite
- append(the actorList, me)
- return me
- end
-
- on stepFrame me
- animateWeapon(me)
- checkAnimateNuke(me)
- end
-
- on setEnergyRatio me, myQualifyLevel
- set ENERGYRATIO to myQualifyLevel / 16.0
- end
-
- on updateEnergyBar me, currentWeapon, currentEnergy
- set myNewPos to integer(currentEnergy / ENERGYRATIO)
- set myLevelDeficit to 55 * currentWeapon
- set the locV of sprite barSprite to BARSTARTPOS - ((myNewPos * 3) + myLevelDeficit)
- end
-
- on updateWeaponIcon me, weaponStatus
- case weaponStatus of
- 1:
- changeIcon(me, 2, 1, 1, 1, 1)
- resetAnimation(me, las1Sprite, "LX12.pct")
- 2:
- changeIcon(me, 1, 2, 1, 1, 1)
- resetAnimation(me, las2Sprite, "LX22.pct")
- 3:
- changeIcon(me, 1, 1, 2, 1, 1)
- resetAnimation(me, roc1Sprite, "RX12.pct")
- 4:
- changeIcon(me, 1, 1, 1, 2, 1)
- resetAnimation(me, roc2Sprite, "RX22.pct")
- 5:
- changeIcon(me, 1, 1, 1, 1, 2)
- resetAnimation(me, nukeSprite, "NUKE2.pct")
- end case
- end
-
- on changeIcon me, l1, l2, r1, r2, nk
- set the member of sprite las1Sprite to member (getName(las1Sprite) & l1 & ".PCT")
- set the member of sprite las2Sprite to member (getName(las2Sprite) & l2 & ".PCT")
- set the member of sprite roc1Sprite to member (getName(roc1Sprite) & r1 & ".PCT")
- set the member of sprite roc2Sprite to member (getName(roc2Sprite) & r2 & ".PCT")
- set the member of sprite nukeSprite to member (getName(nukeSprite) & nk & ".PCT")
- end
-
- on updateNukeIcons me, nukeCount
- case nukeCount of
- 0:
- changeNukeIcon(me, 1, 1, 1)
- 1:
- changeNukeIcon(me, 2, 1, 1)
- 2:
- changeNukeIcon(me, 2, 2, 1)
- 3:
- changeNukeIcon(me, 2, 2, 2)
- end case
- end
-
- on changeNukeIcon me, n1, n2, n3
- set the member of sprite x1Sprite to member (getName(x1Sprite) & n1 & ".PCT")
- set the member of sprite x2Sprite to member (getName(x2Sprite) & n2 & ".PCT")
- set the member of sprite x3Sprite to member (getName(x3Sprite) & n3 & ".PCT")
- end
-
- on animateWeapon me
- set myAnimCount to myAnimCount + 1
- if myAnimCount > 30 then
- set myAnimCount to 1
- end if
- set the memberNum of sprite currentSprite to indexMember + myAnimCount
- end
-
- on resetAnimation me, mySprite, myMember
- if mySprite <> currentSprite then
- set myAnimCount to 1
- set currentSprite to mySprite
- set indexMember to the memberNum of member myMember - 1
- end if
- end
-
- on checkAnimateNuke me
- if getNuclearCount(gGameObj) > 0 then
- if the timer > (DELAYTIMER + (0.5 * 60)) then
- set DELAYTIMER to the timer
- animateNuke(me)
- end if
- end if
- end
-
- on animateNuke me
- repeat with i = x1Sprite to x1Sprite - 1 + getNuclearCount(gGameObj)
- if getID(i) = "2" then
- set the member of sprite i to member (getName(i) & "1.PCT")
- next repeat
- end if
- set the member of sprite i to member (getName(i) & "2.PCT")
- end repeat
- end
-
- on destroy me
- resetTotal(me)
- set pos to getPos(the actorList, me)
- deleteAt(the actorList, pos)
- return me
- end
-
- on resetTotal me
- changeNukeIcon(me, 1, 1, 1)
- changeIcon(me, 1, 1, 1, 1, 1)
- end
-