Robot model number now changes colour strengths and weaknesses across all enemy body parts

This commit is contained in:
Gregory Campbell
2020-05-09 12:05:36 -04:00
parent 33f4f82d0a
commit cfe313d637
+82 -304
View File
@@ -185,24 +185,35 @@ public class GMScript : MonoBehaviour
EnemyKillSequence[i] != PartyColours[1] &&
EnemyKillSequence[i] != PartyColours[2] &&
EnemyKillSequence[i] != PartyColours[3] ||
(EnemyKillSequence[i] == ((EnemyKillSequence[i-1]+6)%12)));
(EnemyKillSequence[i] == EnemyKillSequence[i-1]));
}
//print((Colours)EnemyKillSequence[i]);
EnemyKillSequence[i] = (EnemyKillSequence[i]+6)%12;
}
}while(!SequenceCheck());
// FOR DEBUGGING PURPOSES ONLY
modelNum = Random.Range(0, 4);
// CHANGES COLOUR OF KILL SEQUENCE DEPENDENT ON MODEL NUMBER
for(int i = 0; i < EnemyKillSequence.Length; i++)
{
switch(modelNum){
case(0):
EnemyKillSequence[i] = (EnemyKillSequence[i]+6)%12;
break;
case(1):
EnemyKillSequence[i] = (EnemyKillSequence[i]+3)%12;
break;
case(2):
EnemyKillSequence[i] = (EnemyKillSequence[i]+9)%12;
break;
}
print((Colours)EnemyKillSequence[i]);
}
modelNum = Random.Range(0, 5);
} else {
Divider.SetActive(true);
@@ -823,7 +834,8 @@ public class GMScript : MonoBehaviour
// ATTACK MODIFIER BASED ON THE RELATION OF THE COLOUR OF THE PARTY MEMBER
// AND THE COLOUR OF THE ENEMY ROBOT BASE BODY COLOUR
switch(colourModifier)
switch(colourModifier)
{
case(2):
modifier = 2;
@@ -1338,309 +1350,75 @@ public class GMScript : MonoBehaviour
int ColourCompare(Colours AttackColour, Colours DefendColour)
{
switch(AttackColour)
if(AttackColour != Colours.White &&
AttackColour != Colours.Grey &&
AttackColour != Colours.Black)
{
if(modelNum == 0 || modelNum == 3)
{
// WHITE, GREY AND BLACK ARE NEITHER WEAK NOR STRONG AGAINST
// DEFENDING COLOUR SINCE THEY ARE "NON-ATTACK" COLOURS
case Colours.White:
return 0;
case Colours.Grey:
return 0;
case Colours.Black:
return 0;
case Colours.Red:
// DEFEND COLOUR HAS STRONG DEFENSE IF ATTACK COLOUR IS SAME
if(DefendColour == AttackColour)
{
return -2;
}
// DEFEND COLOUR HAS GOOD DEFENSE IF ATTACK COLOUR IS AN ADJACENT COLOUR
else if (DefendColour == (Colours)(((int)AttackColour-1)%12) ||
DefendColour == (Colours)(((int)AttackColour+1)%12))
{
return -1;
}
// DEFEND COLOUR HAS NO DEFENSE IF ATTACK COLOUR IS OPPOSITE
else if (DefendColour == (Colours)(((int)AttackColour+6)%12))
{
return 2;
}
// DEFEND COLOUR HAS WEAK DEFENSE IF ATTACK COLOUR IS ADJACENT TO OPPOSITE COLOUR
else if (DefendColour == (Colours)(((int)AttackColour+5)%12) ||
DefendColour == (Colours)(((int)AttackColour+7)%12))
{
return 1;
}
break;
case Colours.Brown:
// DEFEND COLOUR HAS STRONG DEFENSE IF ATTACK COLOUR IS SAME
if(DefendColour == AttackColour)
{
return -2;
}
// DEFEND COLOUR HAS GOOD DEFENSE IF ATTACK COLOUR IS AN ADJACENT COLOUR
else if (DefendColour == (Colours)(((int)AttackColour-1)%12) ||
DefendColour == (Colours)(((int)AttackColour+1)%12))
{
return -1;
}
// DEFEND COLOUR HAS NO DEFENSE IF ATTACK COLOUR IS OPPOSITE
else if (DefendColour == (Colours)(((int)AttackColour+6)%12))
{
return 2;
}
// DEFEND COLOUR HAS WEAK DEFENSE IF ATTACK COLOUR IS ADJACENT TO OPPOSITE COLOUR
else if (DefendColour == (Colours)(((int)AttackColour+5)%12) ||
DefendColour == (Colours)(((int)AttackColour+7)%12))
{
return 1;
}
break;
case Colours.Orange:
// DEFEND COLOUR HAS STRONG DEFENSE IF ATTACK COLOUR IS SAME
if(DefendColour == AttackColour)
{
return -2;
}
// DEFEND COLOUR HAS GOOD DEFENSE IF ATTACK COLOUR IS AN ADJACENT COLOUR
else if (DefendColour == (Colours)(((int)AttackColour-1)%12) ||
DefendColour == (Colours)(((int)AttackColour+1)%12))
{
return -1;
}
// DEFEND COLOUR HAS NO DEFENSE IF ATTACK COLOUR IS OPPOSITE
else if (DefendColour == (Colours)(((int)AttackColour+6)%12))
{
return 2;
}
// DEFEND COLOUR HAS WEAK DEFENSE IF ATTACK COLOUR IS ADJACENT TO OPPOSITE COLOUR
else if (DefendColour == (Colours)(((int)AttackColour+5)%12) ||
DefendColour == (Colours)(((int)AttackColour+7)%12))
{
return 1;
}
break;
case Colours.Amber:
// DEFEND COLOUR HAS STRONG DEFENSE IF ATTACK COLOUR IS SAME
if(DefendColour == AttackColour)
{
return -2;
}
// DEFEND COLOUR HAS GOOD DEFENSE IF ATTACK COLOUR IS AN ADJACENT COLOUR
else if (DefendColour == (Colours)(((int)AttackColour-1)%12) ||
DefendColour == (Colours)(((int)AttackColour+1)%12))
{
return -1;
}
// DEFEND COLOUR HAS NO DEFENSE IF ATTACK COLOUR IS OPPOSITE
else if (DefendColour == (Colours)(((int)AttackColour+6)%12))
{
return 2;
}
// DEFEND COLOUR HAS WEAK DEFENSE IF ATTACK COLOUR IS ADJACENT TO OPPOSITE COLOUR
else if (DefendColour == (Colours)(((int)AttackColour+5)%12) ||
DefendColour == (Colours)(((int)AttackColour+7)%12))
{
return 1;
}
break;
case Colours.Yellow:
// DEFEND COLOUR HAS STRONG DEFENSE IF ATTACK COLOUR IS SAME
if(DefendColour == AttackColour)
{
return -2;
}
// DEFEND COLOUR HAS GOOD DEFENSE IF ATTACK COLOUR IS AN ADJACENT COLOUR
else if (DefendColour == (Colours)(((int)AttackColour-1)%12) ||
DefendColour == (Colours)(((int)AttackColour+1)%12))
{
return -1;
}
// DEFEND COLOUR HAS NO DEFENSE IF ATTACK COLOUR IS OPPOSITE
else if (DefendColour == (Colours)(((int)AttackColour+6)%12))
{
return 2;
}
// DEFEND COLOUR HAS WEAK DEFENSE IF ATTACK COLOUR IS ADJACENT TO OPPOSITE COLOUR
else if (DefendColour == (Colours)(((int)AttackColour+5)%12) ||
DefendColour == (Colours)(((int)AttackColour+7)%12))
{
return 1;
}
break;
case Colours.Lime:
// DEFEND COLOUR HAS STRONG DEFENSE IF ATTACK COLOUR IS SAME
if(DefendColour == AttackColour)
{
return -2;
}
// DEFEND COLOUR HAS GOOD DEFENSE IF ATTACK COLOUR IS AN ADJACENT COLOUR
else if (DefendColour == (Colours)(((int)AttackColour-1)%12) ||
DefendColour == (Colours)(((int)AttackColour+1)%12))
{
return -1;
}
// DEFEND COLOUR HAS NO DEFENSE IF ATTACK COLOUR IS OPPOSITE
else if (DefendColour == (Colours)(((int)AttackColour+6)%12))
{
return 2;
}
// DEFEND COLOUR HAS WEAK DEFENSE IF ATTACK COLOUR IS ADJACENT TO OPPOSITE COLOUR
else if (DefendColour == (Colours)(((int)AttackColour+5)%12) ||
DefendColour == (Colours)(((int)AttackColour+7)%12))
{
return 1;
}
break;
case Colours.Green:
// DEFEND COLOUR HAS STRONG DEFENSE IF ATTACK COLOUR IS SAME
if(DefendColour == AttackColour)
{
return -2;
}
// DEFEND COLOUR HAS GOOD DEFENSE IF ATTACK COLOUR IS AN ADJACENT COLOUR
else if (DefendColour == (Colours)(((int)AttackColour-1)%12) ||
DefendColour == (Colours)(((int)AttackColour+1)%12))
{
return -1;
}
// DEFEND COLOUR HAS NO DEFENSE IF ATTACK COLOUR IS OPPOSITE
else if (DefendColour == (Colours)(((int)AttackColour+6)%12))
{
return 2;
}
// DEFEND COLOUR HAS WEAK DEFENSE IF ATTACK COLOUR IS ADJACENT TO OPPOSITE COLOUR
else if (DefendColour == (Colours)(((int)AttackColour+5)%12) ||
DefendColour == (Colours)(((int)AttackColour+7)%12))
{
return 1;
}
break;
case Colours.Cyan:
// DEFEND COLOUR HAS STRONG DEFENSE IF ATTACK COLOUR IS SAME
if(DefendColour == AttackColour)
{
return -2;
}
// DEFEND COLOUR HAS GOOD DEFENSE IF ATTACK COLOUR IS AN ADJACENT COLOUR
else if (DefendColour == (Colours)(((int)AttackColour-1)%12) ||
DefendColour == (Colours)(((int)AttackColour+1)%12))
{
return -1;
}
// DEFEND COLOUR HAS NO DEFENSE IF ATTACK COLOUR IS OPPOSITE
else if (DefendColour == (Colours)(((int)AttackColour+6)%12))
{
return 2;
}
// DEFEND COLOUR HAS WEAK DEFENSE IF ATTACK COLOUR IS ADJACENT TO OPPOSITE COLOUR
else if (DefendColour == (Colours)(((int)AttackColour+5)%12) ||
DefendColour == (Colours)(((int)AttackColour+7)%12))
{
return 1;
}
break;
case Colours.Blue:
// DEFEND COLOUR HAS STRONG DEFENSE IF ATTACK COLOUR IS SAME
if(DefendColour == AttackColour)
{
return -2;
}
// DEFEND COLOUR HAS GOOD DEFENSE IF ATTACK COLOUR IS AN ADJACENT COLOUR
else if (DefendColour == (Colours)(((int)AttackColour-1)%12) ||
DefendColour == (Colours)(((int)AttackColour+1)%12))
{
return -1;
}
// DEFEND COLOUR HAS NO DEFENSE IF ATTACK COLOUR IS OPPOSITE
else if (DefendColour == (Colours)(((int)AttackColour+6)%12))
{
return 2;
}
// DEFEND COLOUR HAS WEAK DEFENSE IF ATTACK COLOUR IS ADJACENT TO OPPOSITE COLOUR
else if (DefendColour == (Colours)(((int)AttackColour+5)%12) ||
DefendColour == (Colours)(((int)AttackColour+7)%12))
{
return 1;
}
break;
case Colours.Indigo:
// DEFEND COLOUR HAS STRONG DEFENSE IF ATTACK COLOUR IS SAME
if(DefendColour == AttackColour)
{
return -2;
}
// DEFEND COLOUR HAS GOOD DEFENSE IF ATTACK COLOUR IS AN ADJACENT COLOUR
else if (DefendColour == (Colours)(((int)AttackColour-1)%12) ||
DefendColour == (Colours)(((int)AttackColour+1)%12))
{
return -1;
}
// DEFEND COLOUR HAS NO DEFENSE IF ATTACK COLOUR IS OPPOSITE
else if (DefendColour == (Colours)(((int)AttackColour+6)%12))
{
return 2;
}
// DEFEND COLOUR HAS WEAK DEFENSE IF ATTACK COLOUR IS ADJACENT TO OPPOSITE COLOUR
else if (DefendColour == (Colours)(((int)AttackColour+5)%12) ||
DefendColour == (Colours)(((int)AttackColour+7)%12))
{
return 1;
}
break;
case Colours.Purple:
// DEFEND COLOUR HAS STRONG DEFENSE IF ATTACK COLOUR IS SAME
if(DefendColour == AttackColour)
{
return -2;
}
// DEFEND COLOUR HAS GOOD DEFENSE IF ATTACK COLOUR IS AN ADJACENT COLOUR
else if (DefendColour == (Colours)(((int)AttackColour-1)%12) ||
DefendColour == (Colours)(((int)AttackColour+1)%12))
{
return -1;
}
// DEFEND COLOUR HAS NO DEFENSE IF ATTACK COLOUR IS OPPOSITE
else if (DefendColour == (Colours)(((int)AttackColour+6)%12))
{
return 2;
}
// DEFEND COLOUR HAS WEAK DEFENSE IF ATTACK COLOUR IS ADJACENT TO OPPOSITE COLOUR
else if (DefendColour == (Colours)(((int)AttackColour+5)%12) ||
DefendColour == (Colours)(((int)AttackColour+7)%12))
{
return 1;
}
break;
case Colours.Pink:
// DEFEND COLOUR HAS STRONG DEFENSE IF ATTACK COLOUR IS SAME
if(DefendColour == AttackColour)
{
return -2;
}
// DEFEND COLOUR HAS GOOD DEFENSE IF ATTACK COLOUR IS AN ADJACENT COLOUR
else if (DefendColour == (Colours)(((int)AttackColour-1)%12) ||
DefendColour == (Colours)(((int)AttackColour+1)%12))
{
return -1;
}
// DEFEND COLOUR HAS NO DEFENSE IF ATTACK COLOUR IS OPPOSITE
else if (DefendColour == (Colours)(((int)AttackColour+6)%12))
{
return 2;
}
// DEFEND COLOUR HAS WEAK DEFENSE IF ATTACK COLOUR IS ADJACENT TO OPPOSITE COLOUR
else if (DefendColour == (Colours)(((int)AttackColour+5)%12) ||
DefendColour == (Colours)(((int)AttackColour+7)%12))
{
return 1;
}
break;
default:
return 0;
{
if(modelNum == 0) return -2;
else return 2;
}
// DEFEND COLOUR HAS GOOD DEFENSE IF ATTACK COLOUR IS AN ADJACENT COLOUR
else if (DefendColour == (Colours)(((int)AttackColour-1)%12) ||
DefendColour == (Colours)(((int)AttackColour+1)%12))
{
if(modelNum == 0) return -1;
else return 1;
}
// DEFEND COLOUR HAS NO DEFENSE IF ATTACK COLOUR IS OPPOSITE
else if (DefendColour == (Colours)(((int)AttackColour+6)%12))
{
if(modelNum == 0) return 2;
else return -2;
}
// DEFEND COLOUR HAS WEAK DEFENSE IF ATTACK COLOUR IS ADJACENT TO OPPOSITE COLOUR
else if (DefendColour == (Colours)(((int)AttackColour+5)%12) ||
DefendColour == (Colours)(((int)AttackColour+7)%12))
{
if(modelNum == 0) return 1;
else return -1;
}
} else {
if(DefendColour == (Colours)(((int)AttackColour+3)%12))
{
if(modelNum == 2) return -2;
else return 2;
}
// DEFEND COLOUR HAS GOOD DEFENSE IF ATTACK COLOUR IS AN ADJACENT COLOUR
else if (DefendColour == (Colours)(((int)AttackColour+2)%12) ||
DefendColour == (Colours)(((int)AttackColour+4)%12))
{
if(modelNum == 2) return -1;
else return 1;
}
// DEFEND COLOUR HAS NO DEFENSE IF ATTACK COLOUR IS OPPOSITE
else if (DefendColour == (Colours)(((int)AttackColour+9)%12))
{
if(modelNum == 2) return 2;
else return -2;
}
// DEFEND COLOUR HAS WEAK DEFENSE IF ATTACK COLOUR IS ADJACENT TO OPPOSITE COLOUR
else if (DefendColour == (Colours)(((int)AttackColour+8)%12) ||
DefendColour == (Colours)(((int)AttackColour+10)%12))
{
if(modelNum == 2) return 1;
else return -1;
}
}
}
// IF AN ATTACKING COLOUR DOESN'T MATCH WITH ANY OF THE ABOVE PARAMETERS
// (OR ATTACKING ROBOT IS AN ABILITY COLOUR)
// IT IS NEITHER WEAK NOR STRONG AGAINST THE DEFENDING COLOUR
return 0;
}