label whatactor: if actornum == '2': i"That's the virus!" $ John_m = "sad" $ John_e = "mad" j"Get Ready, Ily!" hide screen mapA hide screen mapB return elif len(actornum)>1: if actornum == 'Ave': a"YOU'RE A VIRUS!! I MUST DESTROY YOU!" elif actornum == 'Heart': "This must be the insignia that signifies my home grid." i"Ain't it cute!?" j"What's this supposed to be, Ily?" i"It's proof that I rule this place!" j"I see." "Love wins." show screen mapB call screen mapA call Returns return else: show screen mapB call screen mapA call Returns return label MapTalk: if boxsheet == stagehome: $ maptalks+=1 if maptalks==1: i"I'd love to say something virtuous, but the demo is over." j"How do I get to the credits?" i"Go to that room to the right, and press X." j"Fine." elif maptalks==2: i"Why are you still here?" j"There has to be more to this demo, right?" i"Sorry there isn't." elif maptalks==3: j"I'm curious what's on the other side." i"It's incomplete, but it has other things." j"Other things?" i"Classified Information." elif maptalks==4: j"Ily... This game is really getting boring." i"Blame Zan." j"Who's that?" i"Classified Information." j"Okay, I've had enough of that answer." i"Then why don't you go submit a complaint at {a=http://zankizuna.itch.io/Softwar}The Softwar game page?{/a}" j"I'll scold them for all this subpar programming skills." i"Just drop an e-mail if you wanna join team Kizuna." elif maptalks==5: j"What are we even waiting for here anymore?" i"The Full version of Softwar." j"Wait, you mean we downloaded an incomplete game?" i"I thought you knew that already!" elif maptalks==6: i"If you wanna experience more Softwars, let's go over to the east." j"I'd rather not." i"Let's gooooo!" elif maptalks==7: j"Have you ever heard of the quote \"Make Love, Not War\"?" i"Yes." j"Then why were you built exactly to counter this quote?" i"I've come to spread that quote to all the warriors out in the battlefield." j"Hmmm.. Fair enough." $ maptalks = 0 elif boxsheet == stage1: $ maptalks2+=1 if maptalks2==1: j"Ily, what's this other room?" i"It's supposed to be the neighboring network to us." i"This room is full of viruses." j"You're one of them, you know?" elif maptalks2==2: j"What the heck! So many viruses!" i"They're all the same, though.." j"This demo is twisted." i"Post a complaint at {a=http://zankizuna.itch.io/Softwar}The Softwar game page{/a}!" elif maptalks2==3: j"Ily... There aren't any other doors here." i"Help us code more or be patient." j"What do you mean us?" i"Oops!" elif maptalks2==4: i"John! You should be a Patron of Softwar!" j"Sure, drop a link." i"I also suggest that you join their discord server too!" j"Drop a link of that too." i"Here it is! {a=http://discord.gg/bcdARHj}Team Kizuna Discord{/a} and {a=http://patreon.com/teamkizuna}Team Kizuna Patreon{/a}" elif maptalks2==5: i"John! Thanks for finishing up to this far, John." j"No problem." i"Did you enjoy so far?" j"I guess." menu: i"Do you want to see the credits now?" "YES": "See ya." $ map_active = False return "NO": "Stay around and play with me more!" $ maptalks2 = 0 show screen mapB call screen mapA call Returns return else: show screen mapB call screen mapA call Returns return init python: #THE ORIGIN POINT gridpos = [0,0] bg = 1 bgyanchor = 720 bgxanchor = 1280 bgypos = 0.5*720 bgxpos = 0.5*1280 blockSize = 50 jumphght = 0 Running = True direction = 'down' def placeobject(boxsheet,xpos,ypos,objectnum): boxsheet[ypos][xpos]= objectnum return boxsheet boxsheet = stage1 startplayerpos = [1,1] #(x,y) #ILY'S FIRST POSITION playerpos = startplayerpos playerxpos = playerpos[0] playerypos = playerpos[1] Hereisempty = (boxsheet[playerypos][playerxpos]=='0') playerxpos = playerpos[0] playerypos = playerpos[1] objxanchor = ((playerpos[0]+1)*blockSize)-(blockSize/2) objyanchor = ((playerpos[1]+1)*blockSize)-(blockSize/2) Upisempty = (boxsheet[playerypos-1][playerxpos]=='0') Downisempty = (boxsheet[playerypos+1][playerxpos]=='0') Leftisempty = (boxsheet[playerypos][playerxpos-1]=='0') Rightisempty = (boxsheet[playerypos][playerxpos+1]=='0') objectabove = boxsheet[playerypos-1][playerxpos] objectbelow = boxsheet[playerypos+1][playerxpos] objectleft = boxsheet[playerypos][playerxpos-1] objectright = boxsheet[playerypos][playerxpos+1] UpisActor = (objectabove!='0') and (direction == 'up') DownisActor = (objectbelow!='0') and (direction == 'down') LeftisActor = (objectleft!='0') and (direction == 'left') RightisActor = (objectright!='0') and (direction == 'right') FacingActor = (UpisActor or DownisActor) or (LeftisActor or RightisActor) label checkwalls: python: playerxpos = playerpos[0] playerypos = playerpos[1] Hereisempty = (boxsheet[playerypos][playerxpos]=='0') Here = boxsheet[playerypos][playerxpos] HereisDoor = ((Here=='a')or(Here=='b'))or((Here=='c')or(Here=='d')) Upisempty = (boxsheet[playerypos-1][playerxpos]=='0') or (boxsheet[playerypos-1][playerxpos]=='d') or (boxsheet[playerypos-1][playerxpos]=='c') or (boxsheet[playerypos-1][playerxpos]=='b') or (boxsheet[playerypos-1][playerxpos]=='a') Downisempty = (boxsheet[playerypos+1][playerxpos]=='0') or (boxsheet[playerypos+1][playerxpos]=='d') or (boxsheet[playerypos+1][playerxpos]=='c') or (boxsheet[playerypos+1][playerxpos]=='b') or (boxsheet[playerypos+1][playerxpos]=='a') Leftisempty = (boxsheet[playerypos][playerxpos-1]=='0') or (boxsheet[playerypos][playerxpos-1]=='d') or (boxsheet[playerypos][playerxpos-1]=='c') or (boxsheet[playerypos][playerxpos-1]=='b') or (boxsheet[playerypos][playerxpos-1]=='a') Rightisempty = (boxsheet[playerypos][playerxpos+1]=='0') or (boxsheet[playerypos][playerxpos+1]=='d') or (boxsheet[playerypos][playerxpos+1]=='c') or (boxsheet[playerypos][playerxpos+1]=='b') or (boxsheet[playerypos][playerxpos+1]=='a') objectabove = boxsheet[playerypos-1][playerxpos] objectbelow = boxsheet[playerypos+1][playerxpos] objectleft = boxsheet[playerypos][playerxpos-1] objectright = boxsheet[playerypos][playerxpos+1] UpisActor = (objectabove!='0') and (direction == 'up') DownisActor = (objectbelow!='0') and (direction == 'down') LeftisActor = (objectleft!='0') and (direction == 'left') RightisActor = (objectright!='0') and (direction == 'right') FacingActor = (UpisActor or DownisActor) or (LeftisActor or RightisActor) if direction=='up': actornum = objectabove elif direction == 'down': actornum = objectbelow elif direction == 'left': actornum = objectleft elif direction == 'right': actornum = objectright if HereisDoor: if boxsheet == stage0: call maptransfer([4,2],stage1) elif boxsheet == stagehome: $ destination = stage1 if Here=='b': $ spritelist = [] $ gridpos[0] = gridpos[1] + 1 call maptransfer([2,4],destination) elif boxsheet == stage1: $ destination = stagehome if Here=='c': $ spritelist = [Heartsprite] $ gridpos[0] = gridpos[0] - 1 call maptransfer([12,5],destination) elif boxsheet == stage3: call maptransfer([3,14],stage1) return $ randomenemy = renpy.random.randint(0,100) if (randomenemy >95) and (boxsheet != stagehome): $ enemy_encounter = True if enemy_encounter == True: $ enemyvirus = renpy.random.choice([Keylogger,Ransomware,Rootkit]) hide screen mapB hide screen mapA call battlev2(Ily,enemyvirus) if PlayerHP<=0: return $ enemy_encounter=False $ map_active=True play music "bgm/Roam_game_maoudamashii_5_town18.mp3" scene blue show screen mapB call screen mapA call Returns return return # label poschange: # "" # return label mapcall(position,stage): # scene bg #position is an (x,y) tuple declaring place in map. #stage is declared by stage number: stage = stage1 #call mapcall((5,5),stage1) python: boxsheet = stage playerpos = position playerxpos = playerpos[0] playerypos = playerpos[1] objxanchor = ((playerpos[0]+1)*blockSize)-(blockSize/2) objyanchor = ((playerpos[1]+1)*blockSize)-(blockSize/2) for sprite in spritelist: boxsheet[sprite.position[1]][sprite.position[0]]=sprite.dialogue $ map_active=True label maploop: show screen mapB call screen mapA call Returns if map_active==True: jump maploop else: return label maptransfer(position,stage): # scene bg #position is an (x,y) tuple declaring place in map. #stage is declared by stage number: stage = stage1 #call mapcall((5,5),stage1) python: boxsheet = stage playerpos = position playerxpos = playerpos[0] playerypos = playerpos[1] objxanchor = ((playerpos[0]+1)*blockSize)-(blockSize/2) objyanchor = ((playerpos[1]+1)*blockSize)-(blockSize/2) for sprite in spritelist: boxsheet[sprite.position[1]][sprite.position[0]]=sprite.dialogue return image shock: "images/rpg/overworld/shock1.png" pause .05 "images/rpg/overworld/shock12.png" pause .05 "images/rpg/overworld/shock2.png" pause .05 "images/rpg/overworld/shock22.png" pause .05 "images/rpg/overworld/shock3.png" pause .05 "images/rpg/overworld/shock32.png" pause .05 choice: xzoom -1.0 choice: yzoom -1.0 choice: xzoom 1.0 choice: yzoom 1.0 repeat screen mapB: vbox: at mover(objxanchor,objyanchor) for i in boxsheet: hbox: xalign 0.5 yalign 1.0 for j in i: if j !='n': image "images/rpg/tile/Tilebg.png" elif j == 'n': null height blockSize width blockSize vbox: at mover(objxanchor,objyanchor) for i in boxsheet: hbox: xalign 0.5 yalign 1.0 for j in i: if j =='1': image "images/rpg/overworld/object.png" elif j =='2': image "shock" elif j =='3': image "images/rpg/overworld/object3.png" elif j =='4': image "images/rpg/overworld/object4.png" elif j =='5': image "images/rpg/overworld/object5.png" elif j =='a': image "images/rpg/overworld/objectd.png" elif j =='b': image "images/rpg/overworld/objectd.png" elif j =='c': image "images/rpg/overworld/objectd.png" elif j =='d': image "images/rpg/overworld/objectd.png" elif j=='0': null height blockSize width blockSize elif j == 'n': null height blockSize width blockSize elif len(j)>1: null height blockSize width blockSize for sprites in spritelist: image "images/rpg/overworld/[sprites.name][sprites.direction].png" xpos 0.5 ypos 0.5 at floatmov, mover2((objxanchor-(sprites.position[0])*50),objyanchor-(sprites.position[1])*50), halftrans vbox: yalign 0.1 text "GRID ([gridpos[0]],[gridpos[1]])" xalign 0.5 yalign 0.05 text "{color=#fff}Position: [playerxpos],[playerypos]{/color}" text "{color=#fff}Running = [Running]{/color}" imagebutton idle "images/Characters/ILY/ILY[direction].png" action Return("jump") xpos 0.5 ypos 0.5 xanchor 0.5 yanchor 0.7 at floatmov, playerjump(jumphght), blockSizetrans(blockSize) transform blockSizetrans(blockSize): linear 0.2 zoom blockSize*.01 transform_anchor True transform halftrans: zoom 0.5 transform zoombig: xalign 0.5 yalign 1.0 # transform maptrans: # on show: # zoom 1.0 # xpos 0.5 ypos 0.5 xanchor 0.5 yanchor 0.5 # rotate 90 # linear 0.1 xpos 0.5 ypos 0.5 xanchor 0.5 yanchor 0.5 transform mover(objxanchor,objyanchor): xpos 0.5 ypos 0.5 linear 0.05 xanchor objxanchor yanchor objyanchor transform_anchor True transform mover2(objxanchor,objyanchor): # xpos 1.0 ypos 1.0 linear 0.05 xanchor objxanchor yanchor objyanchor+(25) transform_anchor True transform playerjump(jumphght): xpos 0.5 ypos 0.5 xanchor 0.5 yanchor 0.7 linear 0.1 yoffset - jumphght linear 0.1 yoffset 0 pause .5 repeat screen mapA: key 'K_UP' action SetVariable("direction","up"), Return("up") key 'K_DOWN' action SetVariable("direction","down"), Return("down") key 'K_LEFT' action SetVariable("direction","left"), Return("left") key 'K_RIGHT' action SetVariable("direction","right"), Return("right") if anim_done: key 'repeat_K_UP' action SetVariable("direction","up"), Return("up") key 'repeat_K_DOWN' action SetVariable("direction","down"), Return("down") key 'repeat_K_RIGHT' action SetVariable("direction","right"), Return("right") key 'repeat_K_LEFT' action SetVariable("direction","left"), Return("left") # key 'K_ESCAPE' action Return("End") key 'z' action Return("OK") key 'x' action Return("MapTalk") # key 'x' action ShowMenu("partylist") key 'r' action Return("running") key 'K_SPACE' action Return("jump") key 'repeat_K_SPACE'action Return("jump") transform floatmov: linear 0.5 yoffset -2 linear 0.5 yoffset 2 repeat transform ilymov2: linear 1.0 yoffset -10 linear 1.0 yoffset 10 repeat label Returns: # if not running: if map_active: if (_return=="running"): if not Running: $ Running = True elif Running: $ Running = False if (pdirection ==_return) or Running: #if Hereisempty: $ playerxpos = playerpos[0] $ playerypos = playerpos[1] $ anim_done = False if Upisempty: if (_return=="up"): $ objyanchor = objyanchor-blockSize $ playerpos = [playerxpos,playerypos-1] if Downisempty: if (_return=="down"): $ objyanchor = objyanchor+blockSize $ playerpos = [playerxpos,playerypos+1] if Leftisempty: if (_return=="left"): $ objxanchor = objxanchor-blockSize $ playerpos = [playerxpos-1,playerypos] if Rightisempty: if (_return=="right"): $ objxanchor = objxanchor+blockSize $ playerpos = [playerxpos+1,playerypos] pause 0.02 $ anim_done = True #call wildenemy if (_return=="zoomin"): $ blockSize = blockSize + 10 hide screen mapA if (_return=="zoomout"): $ blockSize = blockSize - 10 hide screen mapA if (_return=="jump"): $ jumphght=blockSize*1.5 pause 0.2 $ jumphght=0 if FacingActor: if (_return=="OK"): call whatactor return if (_return=="MapTalk"): call MapTalk return elif (_return=="End"): return else: $ pdirection = direction call checkwalls call screen mapA call Returns return elif (_return=="card1"): call makestats(0) if PlayerSpd >=EnmySpd: $ PlayerAttacked2nd = False play sound "sfx/swing.wav" show ring onlayer overlay: zoom 0.0 xalign 0.5 ypos 0.7 yanchor 0.5 linear 0.2 zoom 1.6 show card1 onlayer overlay: xalign 0.5 ypos 0.7 yanchor 0.5 zoom 1.0 linear 0.1 zoom 1.5 linear 0.2 zoom 1.4 # pause 0.4 $ renpy.pause(0.4,hard=True) call Damage#DAMAGE OPPONENT if not Battle_End: $ renpy.pause(0.1,hard=True) call EnemyAttack elif PlayerSpd=EnmySpd: $ PlayerAttacked2nd = False play sound "sfx/swing.wav" show ring onlayer overlay: zoom 0.0 xalign 0.5 ypos 0.7 yanchor 0.5 linear 0.2 zoom 1.6 show card2 onlayer overlay: xalign 0.5 ypos 0.7 yanchor 0.5 zoom 1.0 linear 0.1 zoom 1.5 linear 0.2 zoom 1.4 # pause 0.4 $ renpy.pause(0.4,hard=True) hide ring hide card1 call Damage#DAMAGE OPPONENT if not Battle_End: $ renpy.pause(0.1,hard=True) call EnemyAttack elif PlayerSpd=EnmySpd: $ PlayerAttacked2nd = False call battlecry play sound "sfx/swing.wav" show ring onlayer overlay: zoom 0.0 xalign 0.5 ypos 0.7 yanchor 0.5 linear 0.2 zoom 1.6 show card3 onlayer overlay: xalign 0.5 ypos 0.7 yanchor 0.5 zoom 1.0 linear 0.1 zoom 1.5 linear 0.2 zoom 1.4 # pause 0.4 $ renpy.pause(0.4,hard=True) call Damage #DAMAGE OPPONENT if not Battle_End: $ renpy.pause(0.1,hard=True) call EnemyAttack elif PlayerSpd=EnmySpd: $ PlayerAttacked2nd = False call battlecry play sound "sfx/swing.wav" show ring onlayer overlay: zoom 0.0 xalign 0.5 ypos 0.7 yanchor 0.5 linear 0.2 zoom 1.6 show card4 onlayer overlay: xalign 0.5 ypos 0.7 yanchor 0.5 zoom 1.0 linear 0.1 zoom 1.5 linear 0.2 zoom 1.4 # pause 0.4 $ renpy.pause(0.4,hard=True) call Damage #DAMAGE OPPONENT if not Battle_End: $ renpy.pause(0.1,hard=True) call EnemyAttack elif PlayerSpd= 5: voice "voice/ILY05 - Swing light sword sounds.mp3" i"Nnnhhhh!" $vcount=1 return label hurtnoise: $ hcount=hcount+1 if hcount ==1: play sound "voice/hurt/ILY13D - Light Bullet Grazed, punched or hit.wav" channel 2 elif hcount == 2: play sound "voice/hurt/ILY13B - Light Bullet Grazed, punched or hit.wav" channel 2 elif hcount == 3: play sound "voice/hurt/ILY13C - Light Bullet Grazed, punched or hit.wav" channel 2 elif hcount == 4: play sound "voice/hurt/ILY05B - Swing light sword sounds.wav" channel 2 elif hcount == 5: play sound "voice/hurt/ILY12J - Bullet Grazed, punched or hit.wav" channel 2 $ hcount=0 if "Bomb" in Enmycardname: play sound "sfx/sfx_exp_medium8.wav" elif (("Buster" in Enmycardname) or ("Flame" in Enmycardname)) or ("Shot" in Playercardname): $ blastsound = renpy.random.randint(0,1) if blastsound ==0: play sound "sfx/sfx_exp_short_hard8.wav" elif blastsound ==1: play sound "sfx/sfx_exp_short_hard9.wav" else: play sound "sfx/Noise.wav" return label win: #MAKE VICTORY ANIMATION "VICTORY!" return label lose: $ okdesktop = False show Ilygameover with pixellate "I'm.. Sorry, John. " extend"I'm sorry Lisa." return ##Card Functions: FXN = Card effect label fxnCallerp(fxn): #Enemy-to-Player Damage Calculation, based on Fxn. if "Damage" in fxn: call hurtnoise with Shake((0, 0, 0, 0), 0.5, dist=EnmyDmg/10) $ PlayerHP = PlayerHP-EnmyDmg if "Burn" in fxn: play sound "sfx/fire.wav" $ PlayerSts.append("Burned") $ PlayerSts.append("Burned") $ PlayerSts.append("Burned") $ PlayerSts.append("Burned") show Brnsts onlayer overlay: zoom 1.3 xanchor 0.5 xpos 0.15 yanchor 0.5 ypos 0.1 alpha 1.0 linear 0.1 zoom 0.98 linear 0.2 zoom 1.0 alpha 0.0 $ renpy.pause(0.5,hard=True) hide Brnsts if "Burned" in PlayerSts: play sound "sfx/fire.wav" python: burndmg = 0 for fxns in PlayerSts: if fxns=="Burned": burndmg = burndmg +10 show Brnsts onlayer overlay: zoom 1.3 xanchor 0.5 xpos 0.15 yanchor 0.5 ypos 0.1 alpha 1.0 linear 0.1 zoom 0.98 linear 0.2 zoom 1.0 alpha 0.0 $ PlayerHP = PlayerHP-burndmg $ PlayerSts.remove('Burned') play sound "sfx/fire.wav" with Shake((0, 0, 0, 0), 0.5, dist=burndmg/10) hide Brnsts return label fxnCaller(fxn): if "POW_Up" in PlayerSts: python: # for fxns in PlayerSts: # if fxns=="POW_Up": # PlayerDmg = PlayerDmg+Powboost PlayerDmg = int(PlayerDmg*1.5) PlayerSts.remove('POW_Up') if not ("POW_Up" in PlayerSts): hide Redframe if ("Saber_Up" in PlayerSts) : python: if ("Saber" in Playercardname): Saberboost = int(PlayerDmg*0.10) for fxns in PlayerSts: if fxns=="Saber_Up" : PlayerDmg = PlayerDmg+Saberboost PlayerSts.remove('Saber_Up') # if not ("POW_Up" in PlayerSts): # hide Redframe if "Damage" in fxn: $ EnmyHP = EnmyHP-PlayerDmg if "Bomb" in Playercardname: play sound "sfx/sfx_exp_medium8.wav" elif (("Buster" in Playercardname) or ("Flame" in Playercardname)) or ("Shot" in Playercardname): $ blastsound = renpy.random.randint(0,1) if blastsound ==0: play sound "sfx/sfx_exp_short_hard8.wav" elif blastsound ==1: play sound "sfx/sfx_exp_short_hard9.wav" else: play sound "sfx/slash.wav" $ dmgdist = (PlayerDmg/20) $ dmgdist = int(dmgdist) show dmgpoint show Enemy: linear 0.15 zoom 0.96 xoffset (dmgdist) yoffset (dmgdist) alpha 0.7 pause .05 xoffset (dmgdist*-1) yoffset (dmgdist*-1) alpha 0.8 pause .05 xoffset (dmgdist) yoffset (dmgdist) alpha 1.0 pause 0.1 xoffset ((dmgdist*-1)-2) yoffset ((dmgdist)-2) pause 0.05 xoffset 0 yoffset 0 linear 0.1 zoom 1.0 $ renpy.pause(0.45,hard=True) if "POW_Up" in fxn: # $ EnmyHP = EnmyHP-PlayerDmg play sound "sfx/sfx_sounds_powerup16.wav" show Redframe: linear 0.7 alpha 1.0 linear 0.7 alpha 0.01 repeat with Shake((0, 0, 0, 0), 0.5, dist=10) # $ EnmyHP = EnmyHP-PlayerDmg $ PlayerSts.append("POW_Up") $ PlayerSts.append("POW_Up") $ PlayerSts.append("POW_Up") $ renpy.pause(0.4,hard=True) if "Saber_Up" in fxn: # $ EnmyHP = EnmyHP-PlayerDmg play sound "sfx/Saber-up.wav" show Saber_Upsts onlayer overlay: zoom 0.8 xanchor 0.5 xpos 0.15 yanchor 0.5 ypos 0.19 alpha 1.0 linear 0.35 zoom 0.7 alpha 1.0 linear 0.15 zoom 0.6 alpha 0.0 # $ EnmyHP = EnmyHP-PlayerDmg $ PlayerSts.append("Saber_Up") $ PlayerSts.append("Saber_Up") $ PlayerSts.append("Saber_Up") $ renpy.pause(0.6,hard=True) hide Saber_Upsts if "SPD_Up" in fxn: # $ EnmyHP = EnmyHP-PlayerDmg play sound "sfx/sfx_sounds_powerup16.wav" show Blueframe: linear 0.7 alpha 1.0 linear 0.7 alpha 0.01 repeat with Shake((0, 0, 0, 0), 0.5, dist=10) # $ EnmyHP = EnmyHP-PlayerDmg $ PlayerSts.append("SPD_Up") $ PlayerSts.append("SPD_Up") $ PlayerSts.append("SPD_Up") $ renpy.pause(0.4,hard=True) if "Recover" in fxn: play sound "sfx/heal.ogg" show white: alpha 0.0 linear 0.1 alpha 1.0 linear 0.1 alpha 0.0 $ PlayerHP = PlayerHP + PlayerDmg if PlayerHP >PlayerHPmax: $PlayerHP=PlayerHPmax $ renpy.pause(0.4,hard=True) elif "DoubleHit" in fxn: $ EnmyHP = EnmyHP-PlayerDmg play sound "sfx/slash.wav" $ dmgdist = (PlayerDmg/20) $ dmgdist = int(dmgdist) show dmgpoint show Enemy: linear 0.025 zoom 0.88 xoffset (dmgdist) yoffset (dmgdist) alpha 0.7 pause .025 xoffset (dmgdist*-1) yoffset (dmgdist*-1) alpha 0.8 pause .025 xoffset (dmgdist) yoffset (dmgdist) alpha 1.0 pause 0.025 xoffset ((dmgdist*-1)-2) yoffset ((dmgdist)-2) pause 0.025 xoffset 0 yoffset 0 linear 0.025 zoom 1.0 $ renpy.pause(0.15,hard=True) $ EnmyHP = EnmyHP-PlayerDmg play sound "sfx/slash.wav" $ dmgdist = (PlayerDmg/20) $ dmgdist = int(dmgdist*4) show dmgpoint show Enemy: linear 0.025 zoom 0.80 xoffset (dmgdist) yoffset (dmgdist) alpha 0.7 pause .025 xoffset (dmgdist*-1) yoffset (dmgdist*-1) alpha 0.8 pause .025 xoffset (dmgdist) yoffset (dmgdist) alpha 1.0 pause 0.025 xoffset ((dmgdist*-1)-2) yoffset ((dmgdist)-2) pause 0.025 xoffset 0 yoffset 0 linear 0.005 zoom 1.1 linear 0.020 zoom 1.0 $ renpy.pause(0.4,hard=True) elif "TripleHit" in fxn: $ EnmyHP = EnmyHP-PlayerDmg play sound "sfx/sfx_exp_short_hard9.wav" $ dmgdist = (PlayerDmg/20) $ dmgdist = int(dmgdist) show dmgpoint show Enemy: linear 0.025 zoom 0.88 xoffset (dmgdist) yoffset (dmgdist) alpha 0.7 pause .025 xoffset (dmgdist*-1) yoffset (dmgdist*-1) alpha 0.8 pause .025 xoffset (dmgdist) yoffset (dmgdist) alpha 1.0 pause 0.025 xoffset ((dmgdist*-1)-2) yoffset ((dmgdist)-2) pause 0.025 xoffset 0 yoffset 0 linear 0.025 zoom 1.0 $ renpy.pause(0.15,hard=True) $ EnmyHP = EnmyHP-PlayerDmg play sound "sfx/sfx_exp_short_hard9.wav" $ dmgdist = (PlayerDmg/20) $ dmgdist = int(dmgdist) show dmgpoint show Enemy: linear 0.025 zoom 0.88 xoffset (dmgdist) yoffset (dmgdist) alpha 0.7 pause .025 xoffset (dmgdist*-1) yoffset (dmgdist*-1) alpha 0.8 pause .025 xoffset (dmgdist) yoffset (dmgdist) alpha 1.0 pause 0.025 xoffset ((dmgdist*-1)-2) yoffset ((dmgdist)-2) pause 0.025 xoffset 0 yoffset 0 linear 0.025 zoom 1.0 $ renpy.pause(0.15,hard=True) $ EnmyHP = EnmyHP-PlayerDmg play sound "sfx/sfx_exp_short_hard8.wav" $ dmgdist = (PlayerDmg/20) $ dmgdist = int(dmgdist*4) show dmgpoint show Enemy: linear 0.025 zoom 0.80 xoffset (dmgdist) yoffset (dmgdist) alpha 0.7 pause .025 xoffset (dmgdist*-1) yoffset (dmgdist*-1) alpha 0.8 pause .025 xoffset (dmgdist) yoffset (dmgdist) alpha 1.0 pause 0.025 xoffset ((dmgdist*-1)-2) yoffset ((dmgdist)-2) pause 0.025 xoffset 0 yoffset 0 linear 0.005 zoom 1.1 linear 0.020 zoom 1.0 $ renpy.pause(0.4,hard=True) elif "Break" in fxn: #BREAK CARD $ EnmyHP = EnmyHP-PlayerDmg play sound "sfx/slash.wav" $ dmgdist = (PlayerDmg/20) $ dmgdist = int(dmgdist*2) if EnmyDmg < PlayerDmg: if not PlayerAttacked2nd: $ EnmySts.append('Broken') if enmychoice ==0: show Enmycard1 onlayer overlay: xalign 0.5 yalign 0.1 linear 0.15 zoom 0.96 alpha 0.8 xoffset (dmgdist) yoffset (dmgdist) alpha 0.7 pause .05 xoffset (dmgdist*-1) yoffset (dmgdist*-1) alpha 0.8 pause .05 xoffset (dmgdist) yoffset (dmgdist) alpha 1.0 pause 0.1 xoffset ((dmgdist*-1)-2) yoffset ((dmgdist)-2) pause 0.05 xoffset 0 yoffset 0 linear 0.1 zoom 0.7 alpha 0.0 elif enmychoice ==1: show Enmycard2 onlayer overlay: xalign 0.5 yalign 0.1 linear 0.15 zoom 0.96 alpha 0.8 xoffset (dmgdist) yoffset (dmgdist) alpha 0.7 pause .05 xoffset (dmgdist*-1) yoffset (dmgdist*-1) alpha 0.8 pause .05 xoffset (dmgdist) yoffset (dmgdist) alpha 1.0 pause 0.1 xoffset ((dmgdist*-1)-2) yoffset ((dmgdist)-2) pause 0.05 xoffset 0 yoffset 0 linear 0.1 zoom 0.7 alpha 0.0 elif enmychoice ==2: show Enmycard3 onlayer overlay: xalign 0.5 yalign 0.1 linear 0.15 zoom 0.96 alpha 0.8 xoffset (dmgdist) yoffset (dmgdist) alpha 0.7 pause .05 xoffset (dmgdist*-1) yoffset (dmgdist*-1) alpha 0.8 pause .05 xoffset (dmgdist) yoffset (dmgdist) alpha 1.0 pause 0.1 xoffset ((dmgdist*-1)-2) yoffset ((dmgdist)-2) pause 0.05 xoffset 0 yoffset 0 linear 0.1 zoom 0.7 alpha 0.0 elif enmychoice ==3: show Enmycard4 onlayer overlay: xalign 0.5 yalign 0.1 linear 0.15 zoom 0.96 alpha 0.8 xoffset (dmgdist) yoffset (dmgdist) alpha 0.7 pause .05 xoffset (dmgdist*-1) yoffset (dmgdist*-1) alpha 0.8 pause .05 xoffset (dmgdist) yoffset (dmgdist) alpha 1.0 pause 0.1 xoffset ((dmgdist*-1)-2) yoffset ((dmgdist)-2) pause 0.05 xoffset 0 yoffset 0 linear 0.1 zoom 0.7 alpha 0.0 show Enemy: linear 0.15 zoom 0.96 xoffset (dmgdist) yoffset (dmgdist) alpha 0.7 pause .05 xoffset (dmgdist*-1) yoffset (dmgdist*-1) alpha 0.8 pause .05 xoffset (dmgdist) yoffset (dmgdist) alpha 1.0 pause 0.1 xoffset ((dmgdist*-1)-2) yoffset ((dmgdist)-2) pause 0.05 xoffset 0 yoffset 0 linear 0.1 zoom 1.0 show dmgpoint onlayer overlay $ renpy.pause(0.8,hard=True) $ Enmyhand.remove(Enmyhand[enmychoice]) elif "Freeze" in fxn: #FREEZE TARGET play sound "sfx/frz.wav" $ EnmySts.append("Frozen") show Frzsts: zoom 1.3 xalign 0.5 yanchor 1.0 ypos 0.45 alpha 1.0 linear 0.1 zoom 0.98 linear 0.2 zoom 1.0 alpha 0.0 $ renpy.pause(0.5,hard=True) hide Frzsts elif "Burn" in fxn: #FREEZE TARGET play sound "sfx/fire.wav" $ EnmySts.append("Burned") $ EnmySts.append("Burned") $ EnmySts.append("Burned") $ EnmySts.append("Burned") show Brnsts: zoom 1.3 xalign 0.5 yanchor 1.0 ypos 0.45 alpha 1.0 linear 0.1 zoom 0.98 linear 0.2 zoom 1.0 alpha 0.0 $ renpy.pause(0.5,hard=True) hide Brnsts elif "Search" in fxn: #NEGATE MISS $ EnmyHP = EnmyHP-PlayerDmg play sound "sfx/slash.wav" $ dmgdist = (PlayerDmg/20) $ dmgdist = int(dmgdist) show Enemy: linear 0.15 zoom 0.96 xoffset (dmgdist) yoffset (dmgdist) alpha 0.7 pause .05 xoffset (dmgdist*-1) yoffset (dmgdist*-1) alpha 0.8 pause .05 xoffset (dmgdist) yoffset (dmgdist) alpha 1.0 pause 0.1 xoffset ((dmgdist*-1)-2) yoffset ((dmgdist)-2) pause 0.05 xoffset 0 yoffset 0 linear 0.1 zoom 1.0 $ renpy.pause(0.4,hard=True) elif "Firewall" in fxn: #NEGATE Attack $ EnmyHP = EnmyHP-PlayerDmg play sound "sfx/slash.wav" $ dmgdist = (PlayerDmg/20) $ dmgdist = int(dmgdist) show Enemy: linear 0.15 zoom 0.96 xoffset (dmgdist) yoffset (dmgdist) alpha 0.7 pause .05 xoffset (dmgdist*-1) yoffset (dmgdist*-1) alpha 0.8 pause .05 xoffset (dmgdist) yoffset (dmgdist) alpha 1.0 pause 0.1 xoffset ((dmgdist*-1)-2) yoffset ((dmgdist)-2) pause 0.05 xoffset 0 yoffset 0 linear 0.1 zoom 1.0 $ renpy.pause(0.4,hard=True) if "Burned" in EnmySts: play sound "sfx/fire.wav" python: burndmg = 0 for fxns in EnmySts: if fxns=="Burned": burndmg = burndmg +10 show Brnsts: zoom 1.3 xalign 0.5 yanchor 1.0 ypos 0.45 alpha 1.0 linear 0.1 zoom 0.98 linear 0.2 zoom 1.0 alpha 0.0 $ EnmyHP = EnmyHP-burndmg $ EnmySts.remove('Burned') $ dmgdist = (burndmg/20) $ dmgdist = int(dmgdist) show dmgpointb show Enemy: linear 0.1 zoom 0.96 xoffset (dmgdist) yoffset (dmgdist) alpha 0.7 pause .05 xoffset (dmgdist*-1) yoffset (dmgdist*-1) alpha 0.8 pause .05 xoffset (dmgdist) yoffset (dmgdist) alpha 1.0 pause 0.1 xoffset ((dmgdist*-1)-2) yoffset ((dmgdist)-2) pause 0.05 xoffset 0 yoffset 0 linear 0.1 zoom 1.0 $ renpy.pause(0.5,hard=True) hide Brnsts call TurnEnd return # screen Game_menu: # screen Concatenate: # label narrative # label Game_cycle: # call narrative # call screen Game_menu # if not game_ending: # jump Game_cycle # return