0300睡到0837,醒来眼里还是感觉有异物,洗脸,看剧想哭尝试之后仍无果,于是开始尝试翻自己上眼睑,看别人能直接挑起来而我一直做不到,好在不知道怎么翻着翻着眼里的异物感消失了,遂美美回炉再睡从0950到1120,爽哉爽哉,有眼睛的感觉真好。
public void SetSkillDamageValue(long value, int stunValue, long rate, TSKBattleNote attacker, bool isMulti = false, bool immediate = false, AbilityCompatibility compatibility = 0, bool isCritical = false, int count = 0, bool ignoreBarrier = false) { }在Ghidra中能有References,但IL2CPP转cs的代码中却没有CalledBy(╯▔皿▔)╯
全体技能打每个敌人时都计算TSKBattleNote.SetSkillDamageValue
public static long CaluculationUnisonDamage(TSKBattleNote[] attackList, TSKBattleNote defence, int defenceCount, int rushCount, out AbilityCompatibility compatibility, out long rate) { },Unison是多个我方单位同时攻击的回合在回合末对所有敌方造成的合击。从DamageText.PlayDamage能获取到它,但无法知道来源是它;因次想要计算单次Unison的伤害需要相加多个TSKBattleCalculationManager.CaluculationUnisonDamage的返回值,并在TSKBattleAttack.SetDamageUnison的onEnter中初始化该次Unison的值。TSKBattleNote.SetUnisonDamageValue的args[1]也能获得TSKBattleCalculationManager.CaluculationUnisonDamage的值,trace这个好像更好。
[TSKBattleLog] 霹靂の射手 (梨緒) damage:3628125305(21%)
[23:43:30] [TSKBattleLog] addDamageNote: address=0x1e1a5875b40, damage=0x46077a, damageType=Unison, damageTotal=17606456803
能完整记录战斗了,但仍感觉不够清晰。
| |
加了个战后结算也无法说明太多东西,大家都很重要。想随回合数做个伤害占比曲线,但那有点太麻烦,感觉差不多了,明天扔github上看看有没有人用。
| |
游戏中Buff是能无限叠加的,Effect Summary能做,但依旧晦涩不明,有些字段是什么意思还得猜。这样看不了buff cd,如果要列出所有能显示cd的skillEffectList更是瞎眼睛且很麻烦,另外易伤在敌人身上也不好获取,现在也只是图方便在TSKBattleAI.LotterySkill的时候随便log一下Effect Summary。
今天就上传github,反正不熬到世界杯开打肯定不会入睡的。