A
anxietymafia
Guest
Is it possible to make Garnet use her short hair model on the field?
if (ModelFactory.garnetShortHairTable.Contains(text)) { ushort num = BitConverter.ToUInt16(FF9StateSystem.EventState.gEventGlobal, 0); bool flag = num >= 10300; if (flag) { // etc... Disable "long_hair" components } else { // etc... Disable "short_hair" components } }
case EBin.event_code_binary.MODEL: { posObj.model = (ushort)this.getv2(); Obj expr_1EA4 = this.gExec; expr_1EA4.flags |= 1; posObj.eye = (short)(-4 * this.getv1()); if (this.gMode == 1) { string text = FF9BattleDB.GEO[(int)posObj.model]; posObj.go = ModelFactory.CreateModel(text, false); GeoTexAnim.addTexAnim(posObj.go, text); if (ModelFactory.garnetShortHairTable.Contains(text)) { posObj.garnet = true; ushort num7 = BitConverter.ToUInt16(FF9StateSystem.EventState.gEventGlobal, 0); posObj.shortHair = (num7 >= 10300); } // etc...
public void Perform(){ if (!_v.Target.CanBeRevived()) return; if (_v.Target.IsZombie) { _v.Context.Flags |= BattleCalcFlags.Miss; // Add this line return; // Add this line// if ((_v.Target.CurrentHp = (UInt16)(GameRandom.Next8() % 10)) == 0) // Remove this line// _v.Target.Kill(); // Remove this line } else if (_v.Target.CheckIsPlayer()) { if (_v.Target.IsUnderStatus(BattleStatus.Death)) _v.Target.CurrentHp = (UInt16)(1 + GameRandom.Next8() % 10); _v.TargetCommand.TryRemoveItemStatuses(); }}
if (Status.checkCurStat(target, 64u) || btl_util.CheckEnemyCategory(target, ENEMY.ENEMY_CATEGORY_UNDEAD)){calc_VAR.flags |= 1; // Add this line// Remove the following lines, "if ((target.cur.hp = (ushort)(Comn.random8() % 10)) == 0)" and "SetEnforceHP0"}else if (btl_calc.CheckNotPlayerMiss(calc_VAR))// etc... no change there
switch 3 ( Chocobo_ChocoColor ) from 1 { case +0: if ( Hot&ColdField == 1 ) { set ChocographAvailableList |= 8 // 4th Chocograph (Yellow to Light Blue) set ChocographLastAvailableFlag = 1 } break case +1: if ( ( Hot&ColdField == 2 ) && ( Global_ScenarioCounter >= 9400 ) ) { set ChocographAvailableList |= 2048 // 12th Chocograph (Light Blue to Red) set ChocographLastAvailableFlag = 1 } break case +2: if ( ( Hot&ColdField == 1 ) && ( Global_ScenarioCounter >= 9400 ) ) { set ChocographAvailableList |= 8192 // 14th Chocograph (Red to Deep Blue) set ChocographLastAvailableFlag = 1 } break default: set ChocographLastAvailableFlag = 0 break }
switch 3 ( Chocobo_ChocoColor ) from 1 { case +0: if ( Chocobo_CurrentField == 1 ) { set VAR_GenInt24_172 |= 8 set VAR_LocUInt8_8 = 1 } break case +1: if ( ( Chocobo_CurrentField == 2 ) && ( General_ScenarioCounter >= 9400 ) ) { set VAR_GenInt24_172 |= 2048 set VAR_LocUInt8_8 = 1 } break case +2: if ( ( Chocobo_CurrentField == 1 ) && ( General_ScenarioCounter >= 9400 ) ) { set VAR_GenInt24_172 |= 8192 set VAR_LocUInt8_8 = 1 } break default: set VAR_LocUInt8_8 = 0 break }
SC_COUNTER_ARMOR_BLANK_START = 1500SC_COUNTER_ARMOR_BLANK_END = 1600SC_COUNTER_WMTITLE_BUNMEI_ON = 2400SC_COUNTER_SGATE_DESTROYED = 2990SC_COUNTER_CLAY_DESTROYED = 4990SC_COUNTER_LIND_DESTROYED = 5598SC_COUNTER_FOG_END = 5990SC_COUNTER_KUROMA_APPEAR = 6200SC_COUNTER_DAGGER_AWAKE = 6875SC_COUNTER_SGATE_RECOVER = 6990SC_COUNTER_ALEX_DESTROYED = 8800SC_COUNTER_SUNA_MAKYU_ON = 9450SC_COUNTER_WMTITLE_NEW_ON = 9600SC_COUNTER_SUNA_MAKYU_OFF = 9890SC_COUNTER_CUT_HAIR = 10300SC_COUNTER_GET_HILDA3 = 10400SC_COUNTER_HOKORA_START = 10600SC_COUNTER_HOKORA_END = 10700SC_COUNTER_LAST_WORLD = 11090Hilda Garde obtained = 10400Ipsen Castle entered = 10500Ipsen Castle done = 10600Eiko+Dagger gone to Shrine = 10620Amarant+Freya gone to Shrine = 10640Steiner+Vivi gone to Shrine = 10660Shrines done = 10700Disc 4 = 11100
All I can tell you with this is, thanks for what you did for Final Fantasy IX!!!Update to v0.41c:
- Added script file batch importing: you can now write script functions with your favorite text editor and import it back when you're done,
- Fixed bugs with text and UI text batch importation; also, the text IDs now start from 0 instead of 1 in the exported batches (so they match with the text ID inside scripts),
- Added more unused/dummied datas (for enemies mainly) that can be recycled when modifying the game's source code; also added enemy attack targetting informations (they are mostly unused, except for deciding if Cover triggers if I'm not mistaken),
- Listed more script functions and general variables in the script editor,
- Fixed a bug with Qu's Marsh's dialogs (it was actually caused by a "mobile" version of the dialogs; I think it's unused),
- In the Randomizer, the Prison Cages' "Absorb" spell is not randomized anymore,
- Fixed another bug with spell animation sequencing.
I am retiring from FF9 modding (presumably definitively). I don't think that I'll update this tool any further. The code is on Github though and I'll still answer questions, so here you go.
this.SubMenuPanel.transform.localScale = new Vector3(1.2f, 1.0f, 1.0f);
I understood, so the PSX version is impossible :-( anyway thanks for reply and thanks for you impressive toolSo? Have you tried doing that?
But it can't be done for the PSX version. It's a modification of the game's engine, so it's for PC.