limbus反編譯
alwayswin:
StageController:
private void EndStage()
{
SingletonBehavior<BattleObjectManager>.Instance.OnStageEnd();
this.StageModel.SetStageResult(true, true, this._currentRound, this.SaveAddedUnlockedInformationData());
GlobalGameManager.Instance.SetStageClearState(this.StageModel.StageResult);
BattleSoundGenerator.StopBGM(true);
SingletonBehavior<BattleUIRoot>.Instance.OpenBattleEndTypo(this.StageModel.StageResult, this.StageModel.SkipStageResult(), this.StageModel.FormationInfo);
Singleton<DungeonSinStockManager>.Instance.OnStageEnd();
SingletonBehavior<BattleCamManager>.Instance.OnStageEnd();
}
HP, SP dungeon recover:
DungeonUnitModel:
public DungeonUnitModel(UnitDataModel_Player unit, int level, int hp, int mp)
{
this._unitModel = unit;
this._hp = 300;
this._mp = 50;
this._level = level;
this._egoGiftDetail = new EGOGiftDetail_Dungeon();
this._isGacksung = this.GacksungLevel == Singleton<StaticDataManager>.Instance.Common.PersonalityLevelTable.GetMaxGacksungLevelOfRank(unit.classInfo.Rank);
}
public void ResetData()
{
this._hp = this.GetMaxHp();
this._mp = 45;
}
Increase SP effect on coin flip:
Util:
public static float GetCoinProbAdder(int mp)
{
return (float)mp * 0.01f;
}
Start with 45 SP, else start with -45 SP:
BattleUnitModel:
public virtual void Init(UnitDataModel unitmodel, int instanceID)
{
this._instanceID = instanceID;
this._unitModel = unitmodel;
this._faction = unitmodel.Faction;
this._passiveDetail = new PassiveDetail(this, this._unitModel);
this._buffDetail = new BuffDetail(this);
this._EGOGiftDetail = new EGOGiftDetail_Battle();
this._systemAbilityDetail = new BattleSystemAbilityDetail();
this._actionSlotDetail = new ActionSlotDetail(this);
this._sortedActionList = new List<BattleActionModel>();
this._doneActionThisTurnList = new List<BattleActionModel>();
this._doneActionPrevTurnList = new List<BattleActionModel>();
this._activatedAbilityDic = new Dictionary<string, int>();
List<BreakSection> list = new List<BreakSection>();
if (!Singleton<StageController>.Instance.StageModel.BlockCreateBreakSectionWhenAddUnit(this))
{
BreakSectionInfo breakSection = this._unitModel.ClassInfo.BreakSection;
foreach (int num in ((breakSection != null) ? breakSection.SectionList : null))
{
int num2 = this._unitModel.GetMaxHp() * num / 100;
BreakSection breakSection2 = new BreakSection(this, num2);
list.Add(breakSection2);
}
}
this._resistDetail = new ResistDetail(unitmodel.ClassInfo.ResistInfo);
this._state = new CharacterState(false, false, false, false, false, false, false, false, unitmodel.GetMaxHp(), list);
if (this._faction.Equals(UNIT_FACTION.PLAYER))
{
this._state.Init(this);
this._state.RecoverMp(45);
}
? ? ? ? ? ? ? ? ? ? ? ? ?else
? ? ? ? ? ? ? ? ? ? ? ? ?{
this._state.RecoverMp(-45);
? ? ? ? ? ? ? ? ? ? ? ? ?}
this._originID = this._unitModel.ClassInfo.ID;
this.CreateSlotWeightConditions();
}
norecoverfrompanic:
CharacterState:
public void RecoverPanicState()
{
this._isPanic = this._isPanic;
this._isLowMorale = this._isLowMorale;
}
startwith99bullets:
CoinAbility:
public virtual void InitStage(BattleUnitModel actor)
{
int i = 0;
int count = this._necessaryCosumeData.Count;
while (i < count)
{
ConsumeBuffData consumeBuffData = this._necessaryCosumeData[i];
if (consumeBuffData.GetKeyword().ToString().Contains("Bullet"))
{
actor.EquipBullet(consumeBuffData.GetKeyword(), 99);
}
i++;
}
}
getallsinswhenuseskills:
// Token: 0x06004375 RID: 17269
public void DoneWithAction()
{
this._isDoneWithAction = true;
this.Model.ResetTakenDmg(this);
BattleUnitModel_Player battleUnitModel_Player = this.Model as BattleUnitModel_Player;
if (battleUnitModel_Player != null)
{
battleUnitModel_Player.ResetUsageLimitedSkillResoureces();
}
this.SinAction.UseSin();
ATTRIBUTE_TYPE skillAttributeType = this.GetSkillAttributeType();
if (this.Model.IsFaction(UNIT_FACTION.PLAYER) && (skillAttributeType != ATTRIBUTE_TYPE.NEUTRAL || skillAttributeType != ATTRIBUTE_TYPE.NONE))
{
Singleton<SinManager>.Instance.AddSinStock(ATTRIBUTE_TYPE.CRIMSON, 1);
Singleton<SinManager>.Instance.AddSinStock(ATTRIBUTE_TYPE.SCARLET, 1);
Singleton<SinManager>.Instance.AddSinStock(ATTRIBUTE_TYPE.AMBER, 1);
Singleton<SinManager>.Instance.AddSinStock(ATTRIBUTE_TYPE.SHAMROCK, 1);
Singleton<SinManager>.Instance.AddSinStock(ATTRIBUTE_TYPE.AZURE, 1);
Singleton<SinManager>.Instance.AddSinStock(ATTRIBUTE_TYPE.INDIGO, 1);
Singleton<SinManager>.Instance.AddSinStock(ATTRIBUTE_TYPE.VIOLET, 1);
Singleton<SinManager>.Instance.AddSinStock(ATTRIBUTE_TYPE.WHITE, 1);
Singleton<SinManager>.Instance.AddSinStock(ATTRIBUTE_TYPE.BLACK, 1);
Singleton<SinManager>.Instance.AddSinStock(ATTRIBUTE_TYPE.SPECIAL_RED, 1);
Singleton<SinManager>.Instance.AddSinStock(ATTRIBUTE_TYPE.SPECIAL_PALE, 1);
}
}