Edit and improve effects methods
This commit is contained in:
parent
8f6a622100
commit
8b72d09384
@ -11,11 +11,29 @@ namespace TJAPlayer3
|
|||||||
public CharacterEffect()
|
public CharacterEffect()
|
||||||
{
|
{
|
||||||
Gauge = "Normal";
|
Gauge = "Normal";
|
||||||
|
BombFactor = 20;
|
||||||
|
FuseRollFactor = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public float GetCoinMultiplier()
|
||||||
|
{
|
||||||
|
float mult = 1f;
|
||||||
|
|
||||||
|
if (Gauge == "Hard") mult *= 1.5f;
|
||||||
|
if (Gauge == "Extreme") mult *= 1.8f;
|
||||||
|
|
||||||
|
return mult;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
[JsonProperty("gauge")]
|
[JsonProperty("gauge")]
|
||||||
public string Gauge;
|
public string Gauge;
|
||||||
|
|
||||||
|
[JsonProperty("bombFactor")]
|
||||||
|
public int BombFactor;
|
||||||
|
|
||||||
|
[JsonProperty("fuseRollFactor")]
|
||||||
|
public int FuseRollFactor;
|
||||||
}
|
}
|
||||||
|
|
||||||
public class CharacterData
|
public class CharacterData
|
||||||
|
@ -16,6 +16,16 @@ namespace TJAPlayer3
|
|||||||
SplitLane = false;
|
SplitLane = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public float GetCoinMultiplier()
|
||||||
|
{
|
||||||
|
float mult = 1f;
|
||||||
|
|
||||||
|
if (Autoroll > 0) mult *= 0f;
|
||||||
|
if (ShowAdlib == true) mult *= 0.9f;
|
||||||
|
if (AllPurple == true) mult *= 1.1f;
|
||||||
|
|
||||||
|
return mult;
|
||||||
|
}
|
||||||
|
|
||||||
[JsonProperty("allpurple")]
|
[JsonProperty("allpurple")]
|
||||||
public bool AllPurple;
|
public bool AllPurple;
|
||||||
|
@ -29,6 +29,16 @@ namespace TJAPlayer3
|
|||||||
["Legendary"] = 4,
|
["Legendary"] = 4,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
private static Dictionary<string, float> RarityToCoinMultiplier = new Dictionary<string, float>
|
||||||
|
{
|
||||||
|
["Poor"] = 0.8f,
|
||||||
|
["Common"] = 1f,
|
||||||
|
["Uncommon"] = 1.1f,
|
||||||
|
["Rare"] = 1.2f,
|
||||||
|
["Epic"] = 1.3f,
|
||||||
|
["Legendary"] = 1.5f,
|
||||||
|
};
|
||||||
|
|
||||||
public static Color tRarityToColor(string rarity)
|
public static Color tRarityToColor(string rarity)
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -51,6 +61,16 @@ namespace TJAPlayer3
|
|||||||
return modalInt;
|
return modalInt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static float tRarityToRarityToCoinMultiplier(string rarity)
|
||||||
|
{
|
||||||
|
float coinMult = 1f;
|
||||||
|
|
||||||
|
if (RarityToCoinMultiplier.ContainsKey(rarity))
|
||||||
|
coinMult = RarityToCoinMultiplier[rarity];
|
||||||
|
|
||||||
|
return coinMult;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1872,22 +1872,30 @@ namespace TJAPlayer3
|
|||||||
Random rnd = new System.Random();
|
Random rnd = new System.Random();
|
||||||
|
|
||||||
var eFun = TJAPlayer3.ConfigIni.nFunMods[TJAPlayer3.GetActualPlayer(player)];
|
var eFun = TJAPlayer3.ConfigIni.nFunMods[TJAPlayer3.GetActualPlayer(player)];
|
||||||
|
var chara = TJAPlayer3.Tx.Characters[TJAPlayer3.SaveFileInstances[TJAPlayer3.GetActualPlayer(player)].data.Character];
|
||||||
|
|
||||||
|
var bombFactor = Math.Max(1, Math.Min(100, chara.effect.BombFactor));
|
||||||
|
var fuseRollFactor = Math.Max(0, Math.Min(100, chara.effect.FuseRollFactor));
|
||||||
|
|
||||||
switch (eFun)
|
switch (eFun)
|
||||||
{
|
{
|
||||||
case EFunMods.MINESWEEPER:
|
case EFunMods.MINESWEEPER:
|
||||||
foreach (var chip in this.listChip)
|
foreach (var chip in this.listChip)
|
||||||
{
|
{
|
||||||
int n = rnd.Next(100);
|
if (NotesManager.IsMissableNote(chip))
|
||||||
|
{
|
||||||
if (n >= 0 && n <= 20)
|
int n = rnd.Next(100);
|
||||||
{
|
|
||||||
if (NotesManager.IsMissableNote(chip))
|
if (n < bombFactor) chip.nチャンネル番号 = 0x1C;
|
||||||
{
|
|
||||||
chip.nチャンネル番号 = 0x1C;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (NotesManager.IsBalloon(chip))
|
||||||
|
{
|
||||||
|
int n = rnd.Next(100);
|
||||||
|
|
||||||
|
if (n < fuseRollFactor) chip.nチャンネル番号 = 0x1D;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case EFunMods.AVALANCHE:
|
case EFunMods.AVALANCHE:
|
||||||
@ -2029,19 +2037,13 @@ namespace TJAPlayer3
|
|||||||
{
|
{
|
||||||
switch (chip.nチャンネル番号)
|
switch (chip.nチャンネル番号)
|
||||||
{
|
{
|
||||||
case 0x11:
|
|
||||||
chip.nチャンネル番号 = 0x101;
|
|
||||||
break;
|
|
||||||
case 0x12:
|
|
||||||
chip.nチャンネル番号 = 0x101;
|
|
||||||
break;
|
|
||||||
case 0x13:
|
case 0x13:
|
||||||
|
case 0x1A:
|
||||||
chip.nチャンネル番号 = 0x101;
|
chip.nチャンネル番号 = 0x101;
|
||||||
chip.nSenote = 6;
|
|
||||||
break;
|
break;
|
||||||
case 0x14:
|
case 0x14:
|
||||||
|
case 0x1B:
|
||||||
chip.nチャンネル番号 = 0x101;
|
chip.nチャンネル番号 = 0x101;
|
||||||
chip.nSenote = 5;
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,6 +15,16 @@ namespace TJAPlayer3
|
|||||||
public DBUnlockables.CUnlockConditions unlock;
|
public DBUnlockables.CUnlockConditions unlock;
|
||||||
public string _path;
|
public string _path;
|
||||||
|
|
||||||
|
public float GetEffectCoinMultiplier()
|
||||||
|
{
|
||||||
|
float mult = 1f;
|
||||||
|
|
||||||
|
mult *= HRarity.tRarityToRarityToCoinMultiplier(metadata.Rarity);
|
||||||
|
mult *= effect.GetCoinMultiplier();
|
||||||
|
|
||||||
|
return mult;
|
||||||
|
}
|
||||||
|
|
||||||
public CCharacter(string path)
|
public CCharacter(string path)
|
||||||
{
|
{
|
||||||
_path = path;
|
_path = path;
|
||||||
|
@ -19,6 +19,16 @@ namespace TJAPlayer3
|
|||||||
public DBUnlockables.CUnlockConditions unlock;
|
public DBUnlockables.CUnlockConditions unlock;
|
||||||
public string _path;
|
public string _path;
|
||||||
|
|
||||||
|
public float GetEffectCoinMultiplier()
|
||||||
|
{
|
||||||
|
float mult = 1f;
|
||||||
|
|
||||||
|
mult *= HRarity.tRarityToRarityToCoinMultiplier(metadata.Rarity);
|
||||||
|
mult *= effect.GetCoinMultiplier();
|
||||||
|
|
||||||
|
return mult;
|
||||||
|
}
|
||||||
|
|
||||||
public CPuchichara(string path)
|
public CPuchichara(string path)
|
||||||
{
|
{
|
||||||
_path = path;
|
_path = path;
|
||||||
|
@ -482,52 +482,8 @@ namespace TJAPlayer3
|
|||||||
var chara = TJAPlayer3.Tx.Characters[TJAPlayer3.SaveFileInstances[TJAPlayer3.GetActualPlayer(player)].data.Character];
|
var chara = TJAPlayer3.Tx.Characters[TJAPlayer3.SaveFileInstances[TJAPlayer3.GetActualPlayer(player)].data.Character];
|
||||||
var puchichara = TJAPlayer3.Tx.Puchichara[PuchiChara.tGetPuchiCharaIndexByName(TJAPlayer3.GetActualPlayer(player))];
|
var puchichara = TJAPlayer3.Tx.Puchichara[PuchiChara.tGetPuchiCharaIndexByName(TJAPlayer3.GetActualPlayer(player))];
|
||||||
|
|
||||||
float charamul = 1.0f;
|
|
||||||
switch(chara.metadata.Rarity)
|
|
||||||
{
|
|
||||||
case "Poor":
|
|
||||||
charamul = 0.8f;
|
|
||||||
break;
|
|
||||||
case "Common":
|
|
||||||
charamul = 1.0f;
|
|
||||||
break;
|
|
||||||
case "Uncommon":
|
|
||||||
charamul = 1.1f;
|
|
||||||
break;
|
|
||||||
case "Rare":
|
|
||||||
charamul = 1.2f;
|
|
||||||
break;
|
|
||||||
case "Epic":
|
|
||||||
charamul = 1.3f;
|
|
||||||
break;
|
|
||||||
case "Legendary":
|
|
||||||
charamul = 1.5f;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
float puchimul = 1.0f;
|
return chara.GetEffectCoinMultiplier() * puchichara.GetEffectCoinMultiplier();
|
||||||
switch (puchichara.metadata.Rarity)
|
|
||||||
{
|
|
||||||
case "Poor":
|
|
||||||
puchimul = 0.8f;
|
|
||||||
break;
|
|
||||||
case "Common":
|
|
||||||
puchimul = 1.0f;
|
|
||||||
break;
|
|
||||||
case "Uncommon":
|
|
||||||
puchimul = 1.1f;
|
|
||||||
break;
|
|
||||||
case "Rare":
|
|
||||||
puchimul = 1.2f;
|
|
||||||
break;
|
|
||||||
case "Epic":
|
|
||||||
puchimul = 1.3f;
|
|
||||||
break;
|
|
||||||
case "Legendary":
|
|
||||||
puchimul = 1.5f;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return charamul * puchimul;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Tower)
|
if (TJAPlayer3.stage選曲.n確定された曲の難易度[0] == (int)Difficulty.Tower)
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
{
|
{
|
||||||
"gauge":"Normal"
|
"gauge":"Normal",
|
||||||
|
"bombFactor":20,
|
||||||
|
"fuseRollFactor":0
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user