Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const int NUM_RINGS = 9;
- const int RING_MESSAGE = 507;
- void RingSystem(){
- int ring_slot= GameVars[RING_SLOT];
- int ring_set = GameVars[RING_SET];
- int ring_set2= GameVars[RING_SET+1];
- int ring_set3= GameVars[RING_SET+2];
- int old_ring= GameVars[RING_SET];
- int ring= old_ring;
- int old_ring2= GameVars[RING_OBTAINED+1];
- int ring2= old_ring2;
- int old_ring3= GameVars[RING_OBTAINED+2];
- int ring3= old_ring3;
- int BoxDn[]= "Press A to increase slot";
- int BoxUp[]= "Press B to decrease slot";
- int RingMessage[]= "Press left or right to change equipped ring";
- int ring_id;
- if(GameVars[RING_COUNT]){
- int Message[256];
- int string;
- int Message2[256];
- int string2;
- int Message3[256];
- int string3;
- if(Link->PressRight){
- Link->PressRight= false;
- Link->InputRight= false;
- do{
- if(!ring_slot){
- ring_set++;
- if(ring_set>=NUM_RINGS+1)
- ring_set=0;
- if(GameVars[RING_SET+1]!=-1){
- if(ring_set==ring_set2){
- ring_set++;
- if(ring_set>=NUM_RINGS+1)
- ring_set=0;
- }
- if(GameVars[RING_SET+2]!=-1){
- if(ring_set==ring_set3){
- ring_set++;
- if(ring_set>=NUM_RINGS+1)
- ring_set=0;
- }
- }
- }
- ring_id= ring_set;
- }
- else if(ring_slot==1){
- ring_set2++;
- if(ring_set==ring_set2){
- ring_set2++;
- if(ring_set2>=NUM_RINGS+1)
- ring_set2=0;
- if(GameVars[RING_SET+2]!=-1){
- if(ring_set2==ring_set3){
- ring_set2++;
- if(ring_set2>=NUM_RINGS+1)
- ring_set2=0;
- }
- }
- ring_id= ring_set2;
- }
- else if(ring_slot==2){
- ring_set3++;
- if(ring_set==ring_set3){
- ring_set3++;
- if(ring_set2==ring_set3){
- ring_set3++;
- if(ring_set3>=NUM_RINGS+1)
- ring_set3=0;
- ring_id= ring_set3
- }
- }
- while(!GameVars[RING_OBTAINED+ring_id])
- ring= GameVars[RING_OBTAINED+ring_set];
- ring2= GameVars[RING_OBTAINED+ring_set2];
- ring3= GameVars[RING_OBTAINED+ring_set3];
- Game->PlaySound(SFX_MENU_SELECT);
- }
- else if(Link->PressLeft){
- Link->PressLeft= false;
- Link->InputLeft= false;
- do{
- if(!ring_slot){
- ring_set--;
- if(ring_set<=-1)
- ring_set=NUM_RINGS;
- if(GameVars[RING_SET+1]!=-1){
- if(ring_set==ring_set2){
- ring_set--;
- if(ring_set<=-1)
- ring_set=NUM_RINGS;
- }
- if(GameVars[RING_SET+2]!=-1){
- if(ring_set==ring_set3){
- ring_set--;
- if(ring_set<=-1)
- ring_set=NUM_RINGS;
- }
- }
- }
- ring_id= ring_set;
- }
- else if(ring_slot==1){
- ring_set2--;
- if(ring_set==ring_set2){
- ring_set2--;
- if(ring_set2<=-1)
- ring_set2=NUM_RINGS;
- if(GameVars[RING_SET+2]!=-1){
- if(ring_set2==ring_set3){
- ring_set2--;
- if(ring_set2<=-1)
- ring_set2=NUM_RINGS;
- }
- }
- ring_id= ring_set2;
- }
- else if(ring_slot==2){
- ring_set3--;
- if(ring_set==ring_set3){
- ring_set3--;
- if(ring_set2==ring_set3){
- ring_set3--;
- if(ring_set3<=-1)
- ring_set3=NUM_RINGS;
- ring_id= ring_set3
- }
- }
- while(!GameVars[RING_OBTAINED+ring_id])
- ring= GameVars[RING_OBTAINED+ring_set];
- ring2= GameVars[RING_OBTAINED+ring_set2];
- ring3= GameVars[RING_OBTAINED+ring_set3];
- Game->PlaySound(SFX_MENU_SELECT);
- }
- if(Link->PressA){
- Link->PressA= false;
- Link->InputA= false;
- if(GameVars[RING_COUNT]>=2){
- if(GameVars[RING_COUNT]==2){
- ring_slot++;
- if(ring_slot>=2)
- ring_slot=0;
- GameVars[RING_SLOT]= ring_slot;
- }
- else if(GameVars[RING_COUNT]>=3){
- ring_slot++;
- if(ring_slot>=3)
- ring_slot=0;
- GameVars[RING_SLOT]= ring_slot;
- }
- Game->PlaySound(SFX_PLACE);
- }
- }
- if(Link->PressB){
- Link->PressB= false;
- Link->InputB= false;
- if(GameVars[RING_COUNT]>=2){
- if(GameVars[RING_COUNT]==2){
- ring_slot--;
- if(ring_slot<=-1)
- ring_slot=2;
- GameVars[RING_SLOT]= ring_slot;
- }
- else if(GameVars[RING_COUNT]>=3){
- ring_slot--;
- if(ring_slot<=-1)
- ring_slot=3;
- GameVars[RING_SLOT]= ring_slot;
- }
- Game->PlaySound(SFX_PLACE);
- }
- }
- if(ring!=old_ring){
- Link->Item[old_ring]= false;
- Link->Item[ring]= true;
- }
- if(ring2!=old_ring2){
- Link->Item[old_ring2]= false;
- Link->Item[ring2]= true;
- }
- if(ring3!=old_ring3){
- Link->Item[old_ring3]= false;
- Link->Item[ring3]= true;
- }
- GameVars[RING_SET]= ring_set;
- GameVars[RING_SET+1]= ring_set2;
- GameVars[RING_SET+2]= ring_set3;
- string= RING_MESSAGE+ring_set;
- GetMessage(string, Message);
- string2= RING_MESSAGE+ring_set2;
- GetMessage(string2, Message2);
- string3= RING_MESSAGE+ring_set3;
- GetMessage(string3, Message3);
- if(GameVars[RING_SET]!=-1){
- Screen->DrawString(1,24,4,FONT_GBLA,0x08,0x69,TF_NORMAL,Message,128);
- Screen->FastTile(1,28,19,GameVars[RING_TILE+ring_set],
- GameVars[RING_CSET+ring_set],OP_OPAQUE);
- }
- if(GameVars[RING_SET+1]!=-1){
- Screen->DrawString(1,24,32,FONT_GBLA,0x08,0x69,TF_NORMAL,Message2,128);
- Screen->FastTile(1,28,47,GameVars[RING_TILE+ring_set2],
- GameVars[RING_CSET+ring_set2],OP_OPAQUE);
- }
- if(GameVars[RING_SET+2]!=-1){
- Screen->DrawString(1,24,60,FONT_GBLA,0x08,0x69,TF_NORMAL,Message3,128);
- Screen->FastTile(1,28,75,GameVars[RING_TILE+ring_set3],
- GameVars[RING_CSET+ring_set3],OP_OPAQUE);
- }
- if(GameVars[RING_COUNT]>=2){
- Screen->DrawString(1,8,136,FONT_GBLA,0x08,0x69,TF_NORMAL,RingMessage,128);
- Screen->DrawString(1,8,120,FONT_GBLA,0x08,0x69,TF_NORMAL,BoxDn,128);
- Screen->DrawString(1,8,128,FONT_GBLA,0x08,0x69,TF_NORMAL,BoxUp,128);
- if(GameVars[RING_SLOT]==0)
- Screen->FastTile(1,0,19,POINTER_TILE,
- POINTER_CSET,OP_OPAQUE);
- else if(GameVars[RING_SLOT]==1)
- Screen->FastTile(1,0,47,POINTER_TILE,
- POINTER_CSET,OP_OPAQUE);
- else if(GameVars[RING_SLOT]==2)
- Screen->FastTile(1,0,75,POINTER_TILE,
- POINTER_CSET,OP_OPAQUE);
- }
- }
- }
- const int POINTER_CSET= 0;
- const int POINTER_TILE= 0;
Add Comment
Please, Sign In to add comment