public static Boolean CheckQuadInput(PosObj po) { EventEngine instance = PersistenSingleton <EventEngine> .Instance; UInt32 num = ETb.KeyOn() & (UInt32)((instance.gMode != 1) ? EventInput.Lcircle : (EventInput.Lcircle | 524288u)); if (num > 0u) { Obj obj = instance.TreadQuad(po, 4); if (obj != null && EventCollision.IsQuadTalkable(po, obj)) { if (num == 524288u && instance.Request(obj, 1, 8, false)) { EventCollision.ClearPathFinding(po); EMinigame.SetQuadmistOpponentId(obj); return(true); } if (instance.Request(obj, 1, 3, false)) { EventCollision.ClearPathFinding(po); return(true); } } } return(false); }
public void Increment() { Int32 oldValue = Number; Int32 newValue = oldValue + Configuration.Hacks.FrogCatchingIncrement; if (newValue > MaxReward && newValue > Int16.MaxValue) { newValue = Int16.MaxValue; } else { for (Int32 i = 0; i < Rewards.Length; i++) { Int16 maxValue = Rewards[i]; if (oldValue >= maxValue) { continue; } if (newValue > maxValue) { newValue = maxValue; } break; } } Number = (Int16)newValue; EMinigame.Catching99FrogAchievement(newValue); }
public static void SetQuadmistOpponentId(Obj gCur) { Int32 fldMapNo = (Int32)FF9StateSystem.Common.FF9.fldMapNo; Int32 uid = (Int32)gCur.uid; EMinigame.quadmistOpponentId = EMinigame.CreateNPCID(fldMapNo, uid); EMinigame.SetGroupingOpponentId(); }
public static void SetFatChocoboId(Obj gCur) { Int32 fldMapNo = (Int32)FF9StateSystem.Common.FF9.fldMapNo; if (fldMapNo == 2955 && gCur.uid == 9) { EMinigame.SetQuadmistOpponentId(gCur); } }
public static void ChanbaraBonusPoints(Obj s1, EBin eBin) { if (FF9StateSystem.Common.FF9.fldMapNo == 64 && s1.sid == 4 && s1.ip == 223) { Int32 num = eBin.getVarManually(12505); num += num / 10 * 3; EMinigame.GetEncoreChanbaraAchievement(num); eBin.setVarManually(12505, num); } }
public override void HonoAwake() { global::Debug.Log("WMScriptDirector.HonoAwake(): This should be called first of all things in WorldMap, than other WM* signletons."); if (!FF9StateSystem.World.IsBeeScene) { EMinigame.InitializeAllTreasureAchievement(); EMinigame.InitializeAllSandyBeachAchievement(); } ff9.w_moveDummyCharacter = new GameObject("moveDummy").AddComponent <WMActor>(); ff9.w_moveDummyCharacter.transform.parent = Singleton <WMWorld> .Instance.WorldMapRoot; ff9.w_moveDummyCharacter.originalActor = new Actor(); PersistenSingleton <HonoInputManager> .Instance.IgnoreCheckingDirectionSources = true; Transform transform = GameObject.Find("Bee").transform; UnityEngine.Object.Destroy(transform.gameObject); Application.targetFrameRate = 20; Singleton <WMWorld> .Instance.Initialize(); this.World = Singleton <WMWorld> .Instance; this.World.ClipDistance = 300000; this.World.Settings.WrapWorld = true; this.World.OnInitialize(); if (FF9StateSystem.World.IsBeeScene) { Singleton <WMAnimationBank> .Instance.Initialize(); WMActor.Initialize(); Singleton <WMBeeMovementAnimation> .Instance.Initialize(); } PersistenSingleton <FF9StateSystem> .Instance.mode = 3; this.FF9 = FF9StateSystem.Common.FF9; this.FF9Sys = PersistenSingleton <FF9StateSystem> .Instance; this.FF9World = FF9StateSystem.World.FF9World; this.FF9WorldMap = FF9StateSystem.World.FF9World.map; this.FF9WorldMap.nextMode = 3; ff9.ff9InitStateWorldMap((Int32)this.FF9.wldMapNo); base.StartCoroutine(PersistenSingleton <FF9TextTool> .Instance.UpdateFieldText(68)); if (!FF9StateSystem.World.IsBeeScene) { PersistenSingleton <EventEngine> .Instance.ServiceEvents(); } ff9.w_frameSystemConstructor(); if (!FF9StateSystem.World.IsBeeScene) { ff9.w_frameMapConstructor(); } if (FF9StateSystem.World.IsBeeScene) { this.BeeMovementAnimation = Singleton <WMBeeMovementAnimation> .Instance; } this.RenderTextureBank = Singleton <WMRenderTextureBank> .Instance; RenderSettings.fog = true; }
public static void SetQuadmistStadiumOpponentId(Obj gCur, Int32 minigameFlag) { Int32 fldMapNo = (Int32)FF9StateSystem.Common.FF9.fldMapNo; if ((fldMapNo == 903 && gCur.sid == 11) || (fldMapNo == 1903 && gCur.sid == 15)) { EMinigame.quadmistOpponentId = fldMapNo * 1000 + minigameFlag + 100; } else if (fldMapNo == 112 && gCur.sid == 7) { EMinigame.SetQuadmistOpponentId(gCur); } }
public static void AllSandyBeachAchievement() { if (PersistenSingleton <SceneDirector> .Instance.CurrentScene != SceneDirector.WorldMapSceneName) { return; } Int32 num = EMinigame.CountVisitedSandyBeach(); if (EMinigame.lastNumOfVisitedSandyBeach != num) { AchievementManager.ReportAchievement(AcheivementKey.AllSandyBeach, num); EMinigame.lastNumOfVisitedSandyBeach = num; } }
public static void SetThiefId(Obj gCur) { Int32 fldMapNo = (Int32)FF9StateSystem.Common.FF9.fldMapNo; if (fldMapNo == 908 || fldMapNo == 1908) { Int32 num = EMinigame.CreateNPCID(fldMapNo, (Int32)gCur.uid); Int32 num2 = num; if (num2 == 908009 || num2 == 1908006) { EMinigame.SetGroupingOpponentId(); } } }
private bool IsInQuadHotFix(Quad quad, float x, float z) { if (this.gMode != 1) { return(this.IsInQuad(quad, x, z)); } int npcid = EMinigame.CreateNPCID(FF9StateSystem.Common.FF9.fldMapNo, quad.sid); if (EventEngineUtils.QuadCircleData.ContainsKey(npcid)) { return(EventEngineUtils.QuadCircleData[npcid].IsCollisionEnter(x, z)); } return(this.IsInQuad(quad, x, z)); }
private static Boolean IsQuadTalkable(PosObj ctrl, Obj quad) { if (PersistenSingleton <EventEngine> .Instance.gMode == 1) { Obj obj = (Obj)null; Int32 fldMapNo = (Int32)FF9StateSystem.Common.FF9.fldMapNo; Int32 uid = (Int32)quad.uid; Int32 key = EMinigame.CreateNPCID(fldMapNo, uid); if (EventEngineUtils.QuadTalkableData.ContainsKey(key)) { obj = PersistenSingleton <EventEngine> .Instance.GetObjUID(EventEngineUtils.QuadTalkableData[key]); } if (obj != null) { Int32 num = fldMapNo; Int32 num2; if (num == 2108) { num2 = EventCollision.GetDir((Actor)ctrl); return(num2 > 90 && num2 < 160); } if (num == 2109) { num2 = EventCollision.GetDir((Actor)ctrl); return(num2 > 159 && num2 < 223); } if (num == 2103) { num2 = EventCollision.GetDir((Actor)ctrl); return(num2 > 159 && num2 < 223); } if (num != 2802) { num2 = EventCollision.CollisionAngle(ctrl, obj); return(num2 > -880 && num2 < 880); } Obj objUID = PersistenSingleton <EventEngine> .Instance.GetObjUID(18); Single num3 = 0f; if (PersistenSingleton <EventEngine> .Instance.isPosObj(objUID)) { num3 = -((PosObj)objUID).pos[1]; } num2 = EventCollision.GetDir((Actor)ctrl); return(num2 > 16 && num2 < 112 && num3 > 950f); } } return(true); }
public static void JumpingRopeAchievement(String lang, Int32 mesId) { Int32 num = 0; Int32 fldMapNo = (Int32)FF9StateSystem.Common.FF9.fldMapNo; Int32 varManually = PersistenSingleton <EventEngine> .Instance.eBin.getVarManually(220); if (fldMapNo == 103) { num = 11209; } if (fldMapNo == 2456 && varManually >= 10300) { num = 15305; } if (num == 0) { return; } Int32 varManually2 = PersistenSingleton <EventEngine> .Instance.eBin.getVarManually(num); if (FF9StateSystem.Settings.IsFastTrophyMode) { if (varManually2 == 5) { AchievementManager.ReportAchievement(AcheivementKey.Rope100, 1); } if (varManually2 == 10) { AchievementManager.ReportAchievement(AcheivementKey.Rope1000, 1); } return; } Boolean flag = EMinigame.IsCongratMessage(lang, mesId, fldMapNo); if (varManually2 == 100 && flag) { AchievementManager.ReportAchievement(AcheivementKey.Rope100, 1); } if (varManually2 >= 1000 && flag) { AchievementManager.ReportAchievement(AcheivementKey.Rope1000, 1); } }
public static Boolean PollCollisionIcon(Obj targetObject) { Boolean result = false; if (EventHUD.CurrentHUD == MinigameHUD.MogTutorial) { return(result); } EventEngine instance = PersistenSingleton <EventEngine> .Instance; if (instance.gMode == 1) { Boolean flag = instance.GetIP((Int32)targetObject.sid, 3, targetObject.ebData) != instance.nil && 1 < targetObject.level; Boolean flag2 = instance.GetIP((Int32)targetObject.sid, 8, targetObject.ebData) != instance.nil && 1 < targetObject.level; if (flag && flag2) { EIcon.PollFIcon(2); result = true; } else if (flag && instance.IsActuallyTalkable(targetObject)) { EIcon.PollFIcon(1); result = true; } } else { Boolean flag = instance.GetIP((Int32)targetObject.sid, 2, targetObject.ebData) != instance.nil && 1 < targetObject.level; if (flag) { if (EMinigame.CheckBeachMinigame() && !EventCollision.IsWorldTrigger()) { EIcon.PollFIcon(4); } else { EIcon.PollFIcon(1); } result = true; } } return(result); }
public override void HonoAwake() { EMinigame.InitializeDigUpKupoAchievement(); this.FF9Sys = PersistenSingleton<FF9StateSystem>.Instance; this.FF9 = FF9StateSystem.Common.FF9; this.FF9Field = FF9StateSystem.Field.FF9Field; this.FF9FieldMap = FF9StateSystem.Field.FF9Field.loc.map; this.FF9.fldLocNo = (Int16)EventEngineUtils.eventIDToMESID[(Int32)this.FF9.fldMapNo]; PersistenSingleton<FF9StateSystem>.Instance.mode = 1; String text = FF9DBAll.EventDB[(Int32)this.FF9.fldMapNo]; FF9StateSystem.Field.SceneName = EventEngineUtils.eventIDToFBGID[(Int32)this.FF9.fldMapNo]; this.ee = PersistenSingleton<EventEngine>.Instance; HonoluluFieldMain.eventEngineRunningCount = 0; this.cumulativeTime = 0f; this.isInside = false; this.stringToEdit = this.FF9.fldMapNo.ToString(); this.scString = PersistenSingleton<EventEngine>.Instance.eBin.getVarManually(EBin.SC_COUNTER_SVR).ToString(); this.mapIDString = PersistenSingleton<EventEngine>.Instance.eBin.getVarManually(EBin.MAP_INDEX_SVR).ToString(); this.ff9InitStateFieldLocation((Int32)this.FF9.fldLocNo); }
public static bool PollCollisionIcon(Obj targetObject) { if (EventHUD.CurrentHUD == MinigameHUD.MogTutorial) { return(false); } bool flag1 = false; EventEngine instance = PersistenSingleton <EventEngine> .Instance; if (instance.gMode == 1) { bool flag2 = instance.GetIP(targetObject.sid, 3, targetObject.ebData) != instance.nil && 1 < targetObject.level; bool flag3 = instance.GetIP(targetObject.sid, 8, targetObject.ebData) != instance.nil && 1 < targetObject.level; if (flag2 && flag3) { PollFIcon(2); flag1 = true; } else if (flag2 && instance.IsActuallyTalkable(targetObject)) { PollFIcon(1); flag1 = true; } } else if (instance.GetIP(targetObject.sid, 2, targetObject.ebData) != instance.nil && 1 < targetObject.level) { if (EMinigame.CheckBeachMinigame() && !EventCollision.IsWorldTrigger()) { PollFIcon(4); } else { PollFIcon(1); } flag1 = true; } return(flag1); }
public override void HonoUpdate() { this.frameTime = 1f / (30f * (Single)FF9StateSystem.Settings.FastForwardFactor); if ((MBG.Instance.IsPlaying() & 2UL) != 0UL) { this.frameTime = 1f / (15f * (Single)FF9StateSystem.Settings.FastForwardFactor); } Single deltaTime = Time.deltaTime; Single num = this.cumulativeTime + deltaTime; this.cumulativeTime = num; if (this.cumulativeTime >= this.frameTime) { if (!FF9StateSystem.Settings.IsFastForward) { this.cumulativeTime -= this.frameTime; } else { this.cumulativeTime = 0f; } SceneTransition transition = PersistenSingleton<SceneDirector>.Instance.Transition; if (!PersistenSingleton<SceneDirector>.Instance.IsReady || (PersistenSingleton<SceneDirector>.Instance.IsFading && transition != SceneTransition.FadeInFromBlack && transition != SceneTransition.FadeInFromWhite)) { return; } if (this.firstFrame) { this.firstFrame = false; this.ff9InitStateFieldSystem(); this.ff9InitStateFieldMap((Int32)this.FF9.fldMapNo); UIScene sceneFromState = PersistenSingleton<UIManager>.Instance.GetSceneFromState(PersistenSingleton<UIManager>.Instance.State); if (sceneFromState != (UnityEngine.Object)null) { sceneFromState.Show((UIScene.SceneVoidDelegate)null); } } this.FF9FieldLocationMain((Int32)this.FF9.fldLocNo); EMinigame.GetTheaterShipMaquetteAchievement(); } }
public static void ProcessATEDialog(Dialog dialog) { if (dialog.CapType == Dialog.CaptionType.ActiveTimeEvent) { global::Debug.Log(String.Concat(new Object[] { "ProcessATBDialog: DialogManager.SelectChoice ", DialogManager.SelectChoice, ", numOfChoices ", dialog.ChoiceNumber })); Boolean isCompulsory = false; if (ETb.LastATEDialogID == -1 && dialog.Id == 0) { isCompulsory = true; } if (dialog.Id != 1 || DialogManager.SelectChoice != dialog.ChoiceNumber - 1 || dialog.ChoiceNumber <= 0) { if (dialog.Id != 0 || ETb.LastATEDialogID != 1) { Int32 num = EMinigame.MappingATEID(dialog, DialogManager.SelectChoice, isCompulsory); EMinigame.ATE80Achievement(num); global::Debug.Log("ATEID = " + num); } } ETb.LastATEDialogID = dialog.Id; if (FF9StateSystem.Common.FF9.fldLocNo == 40 && FF9StateSystem.Common.FF9.fldMapNo == 206 && PersistenSingleton <EventEngine> .Instance.eBin.getVarManually(EBin.SC_COUNTER_SVR) == 1900) { if (DialogManager.SelectChoice == 1) { ETb.LastATEDialogID = -1; } } else if (dialog.Id == 0) { ETb.LastATEDialogID = -1; } } }
public static void AllTreasureAchievement() { if (PersistenSingleton <SceneDirector> .Instance.CurrentScene != SceneDirector.WorldMapSceneName) { return; } Boolean flag = false; EBin eBin = PersistenSingleton <EventEngine> .Instance.eBin; Int32 num = eBin.getVarManually(47304); num &= 16777215; Int32 num2 = EMinigame.CountOpenedTreasure(); if (EMinigame.lastGWldItemGet0 != num && num == 16777215) { flag = true; } if (flag) { AchievementManager.ReportAchievement(AcheivementKey.AllTreasure, EMinigame.numOfTreasures); } EMinigame.lastGWldItemGet0 = num; }
public static Boolean CheckNPCInput(PosObj po) { EventEngine instance = PersistenSingleton <EventEngine> .Instance; UInt32 num = ETb.KeyOn() & (UInt32)((instance.gMode != 1) ? EventInput.Lcircle : (EventInput.Lcircle | 524288u)); if (num > 0u) { Int32 nil = instance.nil; Single nilFloat = instance.nilFloat; Obj obj = EventCollision.Collision(instance, po, 4, ref nilFloat); if (obj != null && EventCollision.IsNPCTalkable(obj)) { EventCollision.sSysAngle = EventCollision.CollisionAngle(po, obj); if (EventCollision.sSysAngle > -1024 && EventCollision.sSysAngle < 1024) { ((Actor)po).listener = obj.uid; if (num == 524288u) { Boolean flag = instance.Request(obj, 1, 8, false); if (flag) { EventCollision.ClearPathFinding(po); EMinigame.SetQuadmistOpponentId(obj); return(flag); } } Boolean flag2 = instance.Request(obj, 1, 3, false); if (flag2) { EventCollision.ClearPathFinding(po); return(flag2); } } } } return(false); }
private Boolean IsInQuadHotFix(Quad quad, Single x, Single z) { if (this.gMode != 1) { return(this.IsInQuad(quad, x, z)); } Int32 npcid = EMinigame.CreateNPCID((Int32)FF9StateSystem.Common.FF9.fldMapNo, (Int32)quad.sid); if (!EventEngineUtils.QuadCircleData.ContainsKey(npcid)) { return(this.IsInQuad(quad, x, z)); } QuadCircle quadCircle = EventEngineUtils.QuadCircleData[npcid]; if (!quadCircle.UseOriginalArea) { return(quadCircle.IsCollisionEnter(x, z)); } if (!quadCircle.IsCollisionEnter(x, z)) { return(this.IsInQuad(quad, x, z)); } return(true); }
public void NewMesWin(Int32 mes, Int32 num, Int32 flags, PosObj targetPo) { EventEngine instance = PersistenSingleton <EventEngine> .Instance; if (this.IsSkipped(instance, mes, num, flags, targetPo)) { return; } this.DisposWindowByID(num); Dialog.CaptionType captionType = Dialog.CaptionType.None; Dialog.WindowStyle windowStyle; if ((flags & 128) > 0) { windowStyle = Dialog.WindowStyle.WindowStyleAuto; } else { windowStyle = Dialog.WindowStyle.WindowStylePlain; if ((flags & 8) > 0) { captionType = Dialog.CaptionType.Mognet; } else if ((flags & 64) > 0) { captionType = Dialog.CaptionType.ActiveTimeEvent; } } if (windowStyle == Dialog.WindowStyle.WindowStylePlain) { targetPo = (PosObj)null; } if ((flags & 16) > 0) { windowStyle = Dialog.WindowStyle.WindowStyleTransparent; } else if ((flags & 4) > 0) { windowStyle = Dialog.WindowStyle.WindowStyleNoTail; } if ((flags & 1) <= 0) { ETb.sChoose = ETb.sChooseInit; ETb.sChooseInit = 0; } if (instance.gMode == 3) { targetPo = (PosObj)null; if (mes != 40) { if (mes == 41) { EIcon.ShowDialogBubble(true); } } else { EIcon.ShowDialogBubble(false); } } EventHUD.CheckSpecialHUDFromMesId(mes, true); if (FF9StateSystem.Common.FF9.fldMapNo == 1850 && FF9StateSystem.AndroidTVPlatform && (mes == 147 || mes == 148)) { NGUIText.ForceShowButton = true; } Dialog dialog = Singleton <DialogManager> .Instance.AttachDialog(num, windowStyle, mes, targetPo, this.OnDialogFinish, captionType); if (FF9StateSystem.Common.FF9.fldMapNo == 1657) { switch (FF9StateSystem.Settings.CurrentLanguage) { case "English(US)": case "English(UK)": case "Spanish": case "German": case "Italian": if (mes == 183 || mes == 166) { dialog.FocusToActor = false; } break; case "Japanese": if (mes == 187 || mes == 170) { dialog.FocusToActor = false; } break; case "French": if (mes == 185 || mes == 168) { dialog.FocusToActor = false; } break; } } if (dialog == (UnityEngine.Object)null) { return; } if ((flags & 32) > 0) { dialog.FocusToActor = false; } if (ETb.isMessageDebug) { global::Debug.Log(String.Concat(new Object[] { "NewMesWin => sid:", instance.gCur.sid, ", mes: ", mes, ", field id:", FF9TextTool.FieldZoneId, ", num: ", num, ", flags: ", flags, ", text:", dialog.Phrase })); } this.gMesCount++; EIcon.SetHereIcon(0); String currentLanguage = FF9StateSystem.Settings.CurrentLanguage; EMinigame.EidolonMuralAchievement(currentLanguage, mes); EMinigame.ExcellentLuckColorFortuneTellingAchievement(currentLanguage, mes); EMinigame.ProvokeMogAchievement(currentLanguage, mes); EMinigame.JumpingRopeAchievement(currentLanguage, mes); EMinigame.GetRewardFromQueenStellaAchievement(); EMinigame.ShuffleGameAchievement(currentLanguage, mes); EMinigame.ChocoboBeakLV99Achievement(currentLanguage, mes); EMinigame.AtleteQueenAchievement_Debug(currentLanguage, mes); EMinigame.TreasureHunterSAchievement(currentLanguage, mes); ETb.FixChocoAccidenlyFly(dialog); }
public static void CollisionRequest(PosObj po) { Boolean flag = false; EventEngine instance = PersistenSingleton <EventEngine> .Instance; Int32 nil = instance.nil; Single nilFloat = instance.nilFloat; Obj obj; if (EventCollision.CheckNPCInput(po)) { if (instance.gMode != 3) { return; } obj = EventCollision.Collision(instance, po, 2, ref nilFloat); } else { obj = EventCollision.Collision(instance, po, 4, ref nilFloat); if (obj != null) { EventCollision.sSysAngle = EventCollision.CollisionAngle(po, obj); if (EventCollision.sSysAngle > -1024 && EventCollision.sSysAngle < 1024) { if (EventCollision.IsNPCTalkable(obj)) { flag = EIcon.PollCollisionIcon(obj); } if (!flag) { obj = EventCollision.Collision(instance, po, 2, ref nilFloat); } } else { obj = EventCollision.Collision(instance, po, 2, ref nilFloat); } } else { obj = EventCollision.Collision(instance, po, 2, ref nilFloat); if (instance.gMode == 3 && obj != null) { WMActor wmActor = ((Actor)po).wmActor; if (wmActor.ControlNo == 0) { flag = EIcon.PollCollisionIcon(obj); } } } } if (obj != null && EventCollision.CheckNPCPush((PosObj)obj)) { instance.Request(obj, 1, 2, false); } if (EventCollision.CheckQuadInput(po)) { return; } obj = instance.TreadQuad(po, 2); if (obj != null) { Boolean flag2 = EventCollision.CheckQuadPush(po, obj) && instance.Request(obj, 1, 2, false); if (flag2) { if (instance.GetIP((Int32)obj.sid, 8, obj.ebData) != instance.nil) { EIcon.PollFIcon(2); } else { Int16 fldMapNo = FF9StateSystem.Common.FF9.fldMapNo; if (fldMapNo == 2108) { if (EventCollision.CheckQuadTalk(po, obj)) { EIcon.PollFIcon(1); } } } } } obj = instance.TreadQuad(po, 4); if (obj != null && EventCollision.CheckQuadTalk(po, obj) && EventCollision.IsQuadTalkable(po, obj)) { EIcon.PollCollisionIcon(obj); } if (instance.gMode == 3 && obj == null) { if (EventCollision.IsChocoboWalkingOrFlyingInForestArea()) { EIcon.PollFIcon(1); } else if (!flag && EMinigame.CheckBeachMinigame()) { EIcon.PollFIcon(3); } } }
public Int32 ProcessEvents() { if ((Int32)FF9StateSystem.Common.FF9.fldMapNo == 303 || (Int32)FF9StateSystem.Common.FF9.fldMapNo == 304) { if (FF9StateSystem.Settings.IsNoEncounter) { PersistenSingleton <EventEngine> .Instance.eBin.setVarManually(53189, 0); PersistenSingleton <EventEngine> .Instance.eBin.setVarManually(52933, 0); PersistenSingleton <EventEngine> .Instance.eBin.setVarManually(52677, 0); } } else if ((Int32)FF9StateSystem.Common.FF9.fldMapNo == 301) { if (FF9StateSystem.Settings.IsNoEncounter) { PersistenSingleton <EventEngine> .Instance.eBin.setVarManually(61381, 0); PersistenSingleton <EventEngine> .Instance.eBin.setVarManually(61125, 0); } } else if ((Int32)FF9StateSystem.Common.FF9.fldMapNo == 302) { if (FF9StateSystem.Settings.IsNoEncounter) { PersistenSingleton <EventEngine> .Instance.eBin.setVarManually(53189, 0); PersistenSingleton <EventEngine> .Instance.eBin.setVarManually(52933, 0); } } else if ((Int32)FF9StateSystem.Common.FF9.fldMapNo == 2921 && FF9StateSystem.Settings.IsNoEncounter) { PersistenSingleton <EventEngine> .Instance.eBin.setVarManually(10461, 10); } Boolean flag = false; Boolean isBattle = this.gMode == 2; this._moveKey = false; for (ObjList objList = this._context.activeObj; objList != null; objList = objList.next) { Obj obj = objList.obj; if ((Int32)obj.cid == 4) { Actor actor = (Actor)obj; FieldMapActorController mapActorController = actor.fieldMapActorController; if ((Int32)obj.uid == (Int32)this._context.controlUID && (Int32)obj.state == (Int32)EventEngine.stateRunning) { if ((Int32)this._context.usercontrol != 0) { if (this.gMode == 1) { //if (!((UnityEngine.Object)mapActorController != (UnityEngine.Object)null)) // ; this._moveKey = FieldMapActorController.ccSMoveKey; } else if (this.gMode == 3) { Single distance = 0.0f; this._moveKey = ff9.w_frameEncountEnable; this.CollisionRequest((PosObj)obj); PosObj posObj = (PosObj)this.Collision(this, actor, 0, ref distance); if (posObj != null && distance <= 0f) { WMActor wmActor = actor.wmActor; WMActor wmActor2 = ((Actor)posObj).wmActor; Vector2 from = new Vector2(wmActor.pos0 - wmActor.lastx, wmActor.pos2 - wmActor.lastz); Vector2 to = new Vector2(wmActor2.pos0 - wmActor.pos0, wmActor2.pos2 - wmActor.pos2); float num2 = Vector2.Angle(from, to); if (num2 >= 0f && num2 <= 90f) { wmActor.transform.position = new Vector3(wmActor.lastx, wmActor.lasty, wmActor.lastz); } } } if (this._moveKey) { this.ResetIdleTimer(0); } } else if ((UnityEngine.Object)mapActorController != (UnityEngine.Object)null) { mapActorController.CopyLastPos(); } } else if ((UnityEngine.Object)mapActorController != (UnityEngine.Object)null) { mapActorController.CopyLastPos(); } if ((Int32)obj.state == (Int32)EventEngine.stateRunning) { if (!isBattle) { this.ProcessAnime((Actor)obj); } //if ((Int32)this._context.usercontrol == 0) // ; } } } if (isBattle) { this.SetupBattleState(); } this._posUsed = false; Int32 num1 = this.eBin.ProcessCode(this._context.activeObj); EventHUD.CheckUIMiniGameForMobile(); if (num1 == 6) { num1 = 0; } else { this.gStopObj = (ObjList)null; } this._aimObj = (PosObj)null; this._eyeObj = (PosObj)null; for (ObjList objList = this._context.activeObj; objList != null; objList = objList.next) { this.SetRenderer(objList.obj, isBattle); } //if (this.gMode != 1) // ; if (isBattle) { for (ObjList objList = this._context.activeObj; objList != null; objList = objList.next) { Obj p = objList.obj; if ((Int32)p.btlchk == 2 && this.Request(p, 3, 5, false)) { p.btlchk = (Byte)1; } } } else { for (ObjList objList = this._context.activeObj; objList != null; objList = objList.next) { Obj obj = objList.obj; Single deltaX = 0.0f; Single deltaY = 0.0f; Single deltaZ = 0.0f; if ((Int32)obj.cid == 4) { Actor actor = (Actor)obj; if (this.gMode == 1) { if ((UnityEngine.Object)obj.go != (UnityEngine.Object)null) { FieldMapActorController component = obj.go.GetComponent <FieldMapActorController>(); if ((UnityEngine.Object)component != (UnityEngine.Object)null) { Int32 num2 = 0; if ((Int32)actor.cid != 4 || (Int32)actor.model == (Int32)UInt16.MaxValue) { num2 = 0; } //else if (component.walkMesh == null) // ; if (((Int32)obj.uid != (Int32)this._context.controlUID || this.sLockTimer >= 0L) && (num2 & 1) != 0) { Single distance = 0.0f; PosObj posObj = this.fieldmap.walkMesh.Collision(actor.fieldMapActorController, 0, out distance); if (posObj != null) { actor.fieldMapActorController.ResetPos(); if (((Int32)posObj.flags & 16) != 0) { this.sLockTimer = 0L; } if ((Int32)obj.uid == (Int32)this._context.controlUID) { this._collTimer = 2; } } } } } if ((Int32)obj.uid == (Int32)this._context.controlUID) { EIcon.ProcessHereIcon((PosObj)actor); if (this.GetUserControl()) { this.CollisionRequest((PosObj)actor); } } } else if (this.gMode == 3) { if (((Int32)actor.actf & EventEngine.actEye) != 0) { Vector3 eyePtr = ff9.w_cameraGetEyePtr(); eyePtr.x = actor.pos[0]; eyePtr.y = actor.pos[1]; eyePtr.z = actor.pos[2]; ff9.w_cameraSetEyePtr(eyePtr); this._eyeObj = (PosObj)actor; } else if (((Int32)actor.actf & EventEngine.actAim) != 0) { Vector3 aimPtr = ff9.w_cameraGetAimPtr(); aimPtr.x = actor.pos[0]; aimPtr.y = actor.pos[1]; aimPtr.z = actor.pos[2]; ff9.w_cameraSetAimPtr(aimPtr); this._aimObj = (PosObj)actor; } } if ((UnityEngine.Object)obj.go != (UnityEngine.Object)null) { if (this.gMode == 3) { WMActor wmActor = ((Actor)obj).wmActor; if ((UnityEngine.Object)wmActor != (UnityEngine.Object)null) { deltaX = (Single)(256.0 * ((Double)wmActor.pos0 - (Double)wmActor.lastx)); deltaY = (Single)(256.0 * ((Double)wmActor.pos1 - (Double)wmActor.lasty)); deltaZ = (Single)(256.0 * ((Double)wmActor.pos2 - (Double)wmActor.lastz)); flag = !EventEngineUtils.nearlyEqual(wmActor.pos0, wmActor.lastx) || !EventEngineUtils.nearlyEqual(wmActor.pos2, wmActor.lastz); //if ((Int32)obj.sid != 5 && (Int32)obj.sid == 11) // ; } } else if (this.gMode == 1) { FieldMapActorController component = obj.go.GetComponent <FieldMapActorController>(); deltaX = component.curPos.x - component.lastPos.x; deltaY = component.curPos.y - component.lastPos.y; deltaZ = component.curPos.z - component.lastPos.z; flag = !EventEngineUtils.nearlyEqual(component.curPos.x, component.lastPos.x) || !EventEngineUtils.nearlyEqual(component.curPos.z, component.lastPos.z); } if ((Int32)actor.follow != (Int32)Byte.MaxValue && (UnityEngine.Object)Singleton <DialogManager> .Instance.GetDialogByWindowID((Int32)actor.follow) == (UnityEngine.Object)null) { actor.follow = Byte.MaxValue; if (EventEngine.sLastTalker == actor) { EventEngine.sTalkTimer = 30; } } if (this.gMode == 1) { this.ProcessTurn(actor); if ((Int32)actor.model != (Int32)UInt16.MaxValue) { this.ProcessNeck(actor); } } if (this.gMode == 3) { this.ProcessTurn(actor); } if (flag) { Int32 num2 = (Int32)actor.animFlag & (EventEngine.afExec | EventEngine.afLower | EventEngine.afFreeze); if (num2 == 0 || num2 == (EventEngine.afExec | EventEngine.afLower)) { actor.animFlag &= (Byte) ~(EventEngine.afExec | EventEngine.afLower); this.SetAnim(actor, (Int32)actor.speed < (Int32)actor.speedth ? (Int32)actor.walk : (Int32)actor.run); } } else if (((Int32)actor.animFlag & (EventEngine.afExec | EventEngine.afFreeze)) == 0 && (this._collTimer == 0 || (Int32)obj.uid != (Int32)this._context.controlUID)) { this.SetAnim(actor, (Int32)actor.idle); } if (flag && (Int32)obj.uid == (Int32)this._context.controlUID && this._moveKey) { Single distance = this.distance(deltaX, deltaY, deltaZ); if (this.gMode == 3) { WMActor wmActor = ((Actor)obj).wmActor; } this._encountTimer += distance; if (!FF9StateSystem.Settings.IsNoEncounter && this.ProcessEncount(actor)) { this._encountReserved = true; } } } } } } if (this._collTimer > 0) { --this._collTimer; } if (EventEngine.sTalkTimer > 0 && --EventEngine.sTalkTimer != 0) { this.ClearLookTalker(); } if (this._encountReserved && !this._posUsed) { this._encountReserved = false; num1 = 3; } if ((num1 == 3 || num1 == 7) && this.gMode == 1) { this.BackupPosObjData(); } if (num1 == 7) { this.sEventContext1.copy(this.sEventContext0); } EMinigame.AllTreasureAchievement(); EMinigame.AllSandyBeachAchievement(); EMinigame.DigUpKupoAchievement(); //this.printActorsInObjList(this.E.activeObj); return(num1); }
public static void InitializeAllSandyBeachAchievement() { EMinigame.lastNumOfVisitedSandyBeach = EMinigame.CountVisitedSandyBeach(); }
public void StartEvents(Byte[] ebFileData) { EventEngine.resyncBGMSignal = 0; //Debug.Log("Reset resyncBGMSignal = " + (object)EventEngine.resyncBGMSignal); this._ff9 = FF9StateSystem.Common.FF9; this._ff9.charArray.Clear(); this._ff9Sys = PersistenSingleton <FF9StateSystem> .Instance; BinaryReader br = new BinaryReader(new MemoryStream(ebFileData)); this.SetupCodeParam(br); this._ff9.mapNameStr = FF9TextTool.LocationName(this._ff9.fldMapNo); this._defaultMapName = this._ff9.mapNameStr; switch (this._ff9Sys.mode) { case 1: this.gMode = 1; break; case 2: this.gMode = 2; break; case 3: this.gMode = 3; UIManager.World.EnableMapButton = true; break; case 8: this.gMode = 4; break; } EventInput.IsProcessingInput = this.gMode != 2 && this.gMode != 4; EMinigame.GetTheAirShipAchievement(); EMinigame.GetHelpAllVictimsInCleyraTown(); TimerUI.SetEnable(this._ff9.timerDisplay); TimerUI.SetDisplay(this._ff9.timerDisplay); TimerUI.SetPlay(this._ff9.timerControl); this.allObjsEBData = new Byte[this.sSourceObjN][]; this.toBeAddedObjUIDList.Clear(); for (Int32 index = 0; index < this.sSourceObjN; ++index) { br.BaseStream.Seek(128L, SeekOrigin.Begin); Int32 num = (Int32)this.sObjTable[index].ofs; Int32 count = (Int32)this.sObjTable[index].size; br.BaseStream.Seek((Int64)num, SeekOrigin.Current); this.allObjsEBData[index] = br.ReadBytes(count); //if (count < 4) //; } if ((this.sEventContext0.inited == 1 || this.sEventContext0.inited == 3) && this.gMode == 2) { this.sEventContext1.copy(this.sEventContext0); } this._context = this.sEventContext0; this.InitMP(); this.InitObj(); EventInput.IsProcessingInput = true; EIcon.InitFIcon(); EIcon.SetAIcon(0); for (Int32 index = 0; index < 80; ++index) { this._context.mapvar[index] = 0; } this._context.usercontrol = 0; this._context.controlUID = 0; this._context.idletimer = 0; EIcon.SetHereIcon(0); this.gStopObj = null; this._context.dashinh = 0; this._context.twist_a = 0; this._context.twist_d = 0; this.eTb.gMesCount = this.gAnimCount = 10; this._noEvents = false; this.InitEncount(); NewThread(0, 0); this._context.activeObj.obj.state = EventEngine.stateInit; this.SetupPartyUID(); for (Int32 index = 0; index < 8; ++index) { this._objPtrList[index] = null; } this._opLStart = 0; if (this.gMode == 2) { for (Int32 index = 0; index < 4; ++index) { Int32 partyMember = this.eTb.GetPartyMember(index); if (partyMember >= 0) { Actor actor = new Actor(this.sSourceObjN - 9 + partyMember, 0, EventEngine.sizeOfActor); } } this._context.partyObjTail = this._context.activeObjTail; } else { this._ff9.btl_rain = 0; } this._opLStart = 4; if (this.gMode == 1 && this.sEventContext1.inited == 1 && this.sEventContext1.lastmap == this._ff9.fldMapNo || this.gMode == 3 && this.sEventContext1.inited == 3 && this.sEventContext1.lastmap == this._ff9.wldMapNo || this._ff9Sys.prevMode == 9 && this.sEventContext1.inited != 0) { this.sEventContext0.copy(this.sEventContext1); this.Request(this.FindObjByUID(0), 0, 10, false); this.EnterBattleEnd(); } else { if (this.gMode != 2 && this.gMode != 4) { Boolean flag1 = this._ff9.fldMapNo == 70; Boolean flag2 = this._ff9.fldMapNo == 2200 && this.eBin.getVarManually(EBin.SC_COUNTER_SVR) == 9450 && this.eBin.getVarManually(EBin.MAP_INDEX_SVR) == 9999; Boolean flag3 = this._ff9.fldMapNo == 150 && this.eBin.getVarManually(EBin.SC_COUNTER_SVR) == 1155 && this.eBin.getVarManually(EBin.MAP_INDEX_SVR) == 325; Boolean flag4 = this._ff9.fldMapNo == 1251 && this.eBin.getVarManually(EBin.SC_COUNTER_SVR) == 5400; Boolean flag5 = this._ff9.fldMapNo == 1602 && this.eBin.getVarManually(EBin.SC_COUNTER_SVR) == 6645 && this.eBin.getVarManually(EBin.MAP_INDEX_SVR) == 16; Boolean flag6 = this._ff9.fldMapNo == 1757 && this.eBin.getVarManually(EBin.SC_COUNTER_SVR) == 6740; Boolean flag7 = this._ff9.fldMapNo == 2752 && this.eBin.getVarManually(EBin.SC_COUNTER_SVR) == 11100 && this.eBin.getVarManually(EBin.MAP_INDEX_SVR) == 9999; Boolean flag8 = this._ff9.fldMapNo == 3001 && this.eBin.getVarManually(EBin.SC_COUNTER_SVR) == 12000 && this.eBin.getVarManually(EBin.MAP_INDEX_SVR) == 0; Boolean flag9 = this._ff9.fldMapNo == 2161 && this.eBin.getVarManually(EBin.SC_COUNTER_SVR) == 10000 && this.eBin.getVarManually(EBin.MAP_INDEX_SVR) == 32; if (!flag1 && !flag4 && (!flag5 && !flag6) && (!flag3 && !flag2 && (!flag7 && !flag8)) && !flag9) { FF9StateSystem.Settings.UpdateTickTime(); ISharedDataSerializer serializer = FF9StateSystem.Serializer; serializer.Autosave(null, (e, s) => { }); } } this.ProcessEvents(); } this._context.inited = (Byte)this.gMode; this._context.lastmap = this.gMode != 1 ? (this.gMode != 3 ? (UInt16)0 : (UInt16)this._ff9.wldMapNo) : (UInt16)this._ff9.fldMapNo; br.Close(); SpawnCustomChatacters(); PersistenSingleton <CheatingManager> .Instance.ApplyDataWhenEventStart(); }
public static UInt32 ReadInput() { UInt32 num = 0u; if (!EventInput.isProcessingInput) { EventInput.ResetWorldTriggerButton(); return(num); } Int32 fldMapNo = (Int32)FF9StateSystem.Common.FF9.fldMapNo; Int32 gMode = PersistenSingleton <EventEngine> .Instance.gMode; Boolean isKeyboardOrJoystickInput = EventInput.IsKeyboardOrJoystickInput; if (Singleton <BubbleUI> .Instance.IsActive) { if (gMode == 1) { if (fldMapNo == 1420 && EventInput.CheckLadderFlag()) { num = EventInput.ProcessInput(false, false); } else { num = EventInput.ProcessInput(false, true); } } else if (gMode == 3) { if (FF9StateSystem.MobilePlatform) { num = EventInput.ProcessInput(false, isKeyboardOrJoystickInput); EventInput.GetWorldTriggerButton(ref num); } else { num = EventInput.ProcessInput(false, true); } } } else if (EventHUD.CurrentHUD != MinigameHUD.None) { MinigameHUD currentHUD = EventHUD.CurrentHUD; if (currentHUD != MinigameHUD.Chanbara) { if (currentHUD != MinigameHUD.RacingHippaul) { num = EventInput.ProcessInput(false, true); } else { num = EventInput.ProcessInput(false, false); } } else { num = EventInput.ProcessInput(true, true); num &= EventInput.ChanbaraMask; if (FF9StateSystem.MobilePlatform) { if ((num & 8u) > 0u) { EventInput.IsNeedAddStartSignal = true; } else if (EventInput.addStartSignal > 0) { num |= 8u; EventInput.addStartSignal--; EventInput.InputLog("Extra Start"); } } } } else if (fldMapNo == 606) { if (EventHUD.CurrentHUD == MinigameHUD.Telescope) { num = EventInput.ProcessInput(false, true); } } else if (fldMapNo == 2204 && TimerUI.Enable) { num = EventInput.ProcessInput(false, false); } else if (fldMapNo == 1607) { num = EventInput.ProcessInput(false, false); } else if (fldMapNo == 1420) { num = EventInput.ProcessInput(false, true); } else if (fldMapNo == 1422) { num = EventInput.ProcessInput(false, true); } else { Dialog mognetDialog = Singleton <DialogManager> .Instance.GetMognetDialog(); if (mognetDialog != (UnityEngine.Object)null) { if (mognetDialog.IsChoiceReady) { num = EventInput.ProcessInput(false, true); } } else if (FF9StateSystem.MobilePlatform) { num = EventInput.ProcessInput(false, isKeyboardOrJoystickInput); if (isKeyboardOrJoystickInput) { UIManager.Input.ResetTriggerEvent(); } EventInput.GetWorldTriggerButton(ref num); } else { num = EventInput.ProcessInput(false, true); } } num |= EventInput.eventButtonInput; if (EventInput.isDialogConfirm) { num |= EventInput.ConfirmMask; EventInput.isDialogConfirm = false; } if (HonoBehaviorSystem.Instance.IsFastForwardModeActive()) { if (FF9StateSystem.MobilePlatform) { if (fldMapNo == 909 || fldMapNo == 1909) { num = EventInput.FastForwardProcess(gMode, fldMapNo, num); } } else { num = EventInput.FastForwardProcess(gMode, fldMapNo, num); } } num &= ~EventInput.PSXCntlPadMask[0]; if (FF9StateSystem.MobilePlatform && gMode == 3 && EventCollision.IsRidingChocobo()) { if ((num & 524288u) > 0u || (num & 32768u) > 0u) { EventInput.isPressedDig = true; } else if ((num & 16777216u) > 0u || (num & 4096u) > 0u) { EventInput.isPressedDig = false; } else if ((num & EventInput.Lx) > 0u || (num & 16384u) > 0u) { EventInput.isPressedDig = false; } else if ((num & 1u) > 0u || (num & 1u) > 0u) { EventInput.isPressedDig = false; } } if (gMode == 3 && EventEngineUtils.IsMogCalled(PersistenSingleton <EventEngine> .Instance)) { ff9.w_isMogActive = true; } if (gMode == 3 && EMinigame.CheckBeachMinigame() && EventCollision.IsWorldTrigger() && (num & CancelMask) > 0u) { num &= ~CancelMask; EventInput.InputLog("Remove cancel mask for <SQEX> #2893"); } EventInput.eventButtonInput = 0u; EventInput.ResetWorldTriggerButton(); return(num); }