Home › Forums › Destiny of an Emperor › New Attributes + Tactic Expansion Project
Tagged: An Sha, Bei Ji, Destiny of an Emperor, Destiny of an Emperor Attributes, Destiny of an Emperor hacking, Destiny of an Emperor Mods, Destiny of an Emperor NES, Destiny of an Emperor Tactic, Fu Bing, Liu Bei, Tactic Expansion Project
- This topic has 119 replies, 8 voices, and was last updated 10 years, 6 months ago by sonic.penguin.
-
AuthorPosts
-
January 25, 2013 at 2:03 pm #6727MiDKnighTModerator
This would be a big project but an awesome one…
Phase 1 : Display New Attributes – COMPLETE:
Status Screen With New Attributes:
Phase 2 : Populate Values for New Attributes – COMPLETE
LDR, VIT, and POL are now taking user given values or deriving them if they are not set. The attributes don't do anything new yet but they will. What modders need to know:
To set the LDR for an officer, put the value at 0x7AA## where ## = officer ID
To set the VIT for an officer, put the value at 0x7AB## where ## = officer ID
To set the POL for an officer, put the value at 0x7AC## where ## = officer ID
If you leave it at 0 for an officer, the number will be derived like so:
LDR = Roughly 50% INT + 25% STR + 25% AGI = 100% LDR
VIT = Roughly 50% STR + 25% INT + 25% AGI = 100% VIT
POL = Roughly 75% INT + 25% AGI = 100% POL
For coders:
LDR is stored in $6400-$6406 for allies and $6407-$640B for enemies
VIT is stored in $6410-$6416 for allies and $6417-$641B for enemies
POL is stored in $6420-$6426 for allies and $6427-$642B for enemies
Allied party and enemy values for LDR, VIT, and POL are refreshed every time:
– An officer joins or leaves the party
– A battle is started
– Billeting stats are checked
Changes:
0x38530 (Status page code changes):
D620D2CE2091CF2064DD6075209FC0A9
A18558C6AAA64ABD9C6030082064DDEA
85209FC0E6AAA91085A9A20820B8C9A9
818558A20920B8C9A900856EA22D20B8
C9C658A9008570209FC0A20B20B8C9A2
0A20B8C94C9FD4A46EB935EA8518B940
EA8519A44AA554C906D007B9C060A84C
9F85C908D009A000A54AC9079001C8E6
6EA91E2082C4EA850485052088D6A902
2019CCE8EAB118483868E91C900A48A9
F49D1803E838B0F1690E9006A9F39D18
03E86023C002FFFF23DA02AAAA23E202
AAAA23EA04AAAA0000FF21A1010EFF9C
0x7AD10 (the meat of setting LDR, VIT, and POL):
8D30648E31648C3264A000B9A860AABD
F0A9F0069900644C3FADB99C614A4A8D
0D64B9A8614A8D0E64B9B4614A4A8D0F
64A9006D0D646D0E646D0F64990064BD
F0AAF0069910644C6FADB99C614A8D1D
64B9A8614A4A8D1E64B9B4614A4A8D1F
64A9006D1D646D1E646D1F64991064BD
F0ABF0069920644C9FADB9A8614A8D2D
64B9A8614A4A8D2E64B9B4614A4A8D2F
64A9006D2D646D2E646D2F64992064C8
C00C90034CB0AD4C0BAD000000000000
68C9DDD00948AE3164A90E4C5EEAC9C5
9004484C3084C9AAD00848AE31648A4C
C7E0C997D00748AC32644C89934CB5AD
0x7C600 & 0xFC600 (pallette changes):
0F27291A0F0030290F1737290F203111
0F3036150F3027030F2B37060F293714
FF012716000F3021000F3827000F2031
11FF013928180F3727170F302B1B0F20
1C0CFF013727160F3025370F302B270F
202C27FF011738150F1729190F173827
0F203817FF012737150F1929270F2010
270F203111FF012737150F27371A0F27
37170F201011FF012031210F2021310F
170F320F372621FF012627040F203111
0F2031110F372620FF012820370F2838
0x7EA40 & 0xFEA40:
FBF8F2D4FE009CA8B41020F9B4000000
6461616164648560000000A900856E4C
77858DBB61AAA91E2082C44C00AD2082
C44CDDE7FEFE010E6D0C0C2310122318
12220C0C0C6EFAF80EB7FBFFFA010E6D
0C0C0C142024181F0C0C0C0C6EFAF834
0x80010 (loading stuff into memory at $7500, mostly status page stuff)
A03FB9208099907F8810F7A07FB96080
9900758810F7A90E4CB7C40000000000
85EDC91F9006A902484CA07FA90048EA
A5ED0AC93F9002E94048A9068D008068
8D018018690148A9078D0080688D0180
A9008D0080688D018060000000000000
0DF8150AFB0A1B13210AF84BEAFB0A22
23210AF87785FB0A181D230AF87785FB
0A1016180AF87785FB0A2518230AF877
85FB0A1F1E1B0AF87785FB0A101F0A0A
F87785FB0A10120A0AF87785FE000000
00000000000000000000000000000000
23C002FFFF23DA03AAAA2223E203AAAA
2223EA03AAAA2223F203AAAA22FF0000
Misc Jumps and Such:
0x39390: 8DAF61ACAF60A90920C8E34C52EA205D
0x78440: A90E2082C4
0x79390: 000000000000000000A90E2082C4
0x7E0D0: & FE0D0: 8A0A0A0A4C55EA
0x7E7E0 & 0xFE7E0: 619002A9FF9DB4614C56EAEAEA207CB7
0x7EDC1 & 0xFEDC1: 00
0x7EDF1 & 0xFEDF1: 75
0x7F0D0: 2FB42074864C55EAA9072080C44C4391
Attribute Descriptions:
Leadership (LDR) – How strong of a leader they are. You would want to put someone with high LDR at the front of your party.
Strength (STR) – Officer attacking strength. Used for physical damage and dueling.
Intelligence (INT) – Officer tactic strength (for INT based tactics). Also used for enemy officer artificial intelligence and intelligent officers are smarter about accepting duels.
Agility (AGI) – Affects order of turns in battle and agility based attacks.
Vitality (VIT) – Helps with physical and tactic defense. In your own mod you could rename this attribute to RES (resistance), CON (constitution), or maybe even TRN (training).
Political (POL) – kind of a combination of POL and CHA from ROTK games. Would affect some tactics (like Mislead and Doubt) but also affect recruitment and gold/items gained after battle. In your own mod you could rename this attribute to CHA (charm or charisma) or LOY (loyalty).
Attack Power (AP) – weapon strength
AC – armor + helmet strength + VIT
Phase 3 : Start Having the New Attributes Do Something – ONGOING
Completed Attribute Uses:
LDR:
-
– LDR of the party leader affects duel outcome
– Higher LDR+AGI makes it easier to retreat. Party leader's LDR+AGI vs 1st enemy's LDR+AGI
– Negate success, LDR+INT (1st party member) vs 1st enemy's LDR+INT (if negate is defined with LDR/INT)
VIT:
-
– VIT affects base AC
POL:
-
– Higher POL for the party leader makes item drops more likely
– Doubt / Mislead success (if defined)
Other ideas for using these attributes…
LDR:
-
– Physical attack power = STR + AP (weapon) + Soldiers (maybe LDR factored in too)
– Tactic attack power = INT + Soldiers (maybe LDR factored in too)
– Perhaps Leadership could affect the officer's Accuracy rating, and the Leader's Leadership could affect the power/effectiveness of all tactics?
VIT:
-
– Tactic defense = VIT + INT + AC (armor)
– VIT might be used to determine effectiveness of healing tactics used on an officer's army, and the effectiveness of Life/Raise.
– VIT might be used for resisting damage tiles and the detrimental effects of lack of food.
– VIT might be used for resisting the effects of all-or-nothing tactics (Yi Xin/Li Jian/An Sha), along with INT of course.
POL:
-
– Gold and food awarded after battle
– Recruiting success… Party leader's LDR and POL vs recruitee's LDR and POL (higher LDR+POL for enemy = harder to recruit)
Phase 4 – Tactic type and Success/Fail code – COMPLETE
In the list at 0xE8400–0xE84FF you can define a tactic as LDR based, STR based, INT based, AGI based, VIT based, or POL based. Then the success/fail will be measured by the tactic attribute of the attacker vs the tactic attribute of the defender (with randomness thrown in).
You can define the attributes for each tactic at 0xE84## where ## = tactic ID. To define each tactic you need to switch your calculator to binary mode (1's and 0's). Here's how we use each value:
Auto-Succeed – LDR – STR – INT – AGI – VIT – POL – (not used)
So if a tactic is INT based it would be:
Auto-Succeed – LDR – STR – INT – AGI – VIT – POL – (not used)
0 0 0 1 0 0 0 0
Then in your calculator switch this to hex and you get "10". Here are the defaults for each tactic:
01 Lian Huo = 10 (00010000 – INT based)
02 Ye Huo = 10 (00010000 – INT based)
03 Yan Re = 10 (00010000 – INT based)
04 Da Re = 10 (00010000 – INT based)
05 Huo Shen = 10 (00010000 – INT based)
06 Shui Tu = 10 (00010000 – INT based)
07 Shui Xing = 10 (00010000 – INT based)
08 Shui Lei = 10 (00010000 – INT based)
09 Hong Shui = 10 (00010000 – INT based)
0A Shui Long = 10 (00010000 – INT based)
0B Chi Xin = 94 (10010100 – auto succeed, INT+VIT based)
0C Tong Xian = 94 (10010100 – auto succeed, INT+VIT based)
0D Yin Xian = 94 (10010100 – auto succeed, INT+VIT based)
0E Jin Xian = 94 (10010100 – auto succeed, INT+VIT based)
0F Wan Fu = 94 (10010100 – auto succeed, INT+VIT based)
10 Ji Rou = C4 (11000100 – auto succeed, LDR+VIT based)
11 Protect = 94 (10010100 – auto succeed, INT+VIT based)
12 Duel = 20 (00100000 – STR based) ***
13 Ce Mian = 90 (10010000 – auto succeed, INT based)
14 Ji Mian = C0 (11000000 auto succeed, LDR based)
15 Charge = E0 (11100000 – auto succeed, LDR+STR based) ***
16 Yi Xin = 02 (00000010 POL based)
17 Li Jian = 12 (00010010 INT+POL based)
18 Qi Shou = C8 (11001000 – auto succeed, LDR+AGI based)
19 Jie Ce = 50 (01010000 LDR+INT based)
1A An Sha = 12 (00010010 INT+POL based) ***
1B Bei Ji = C0 (11000000 auto succeed, LDR based)
1C Fu Bing = 48 (01001000 LDR+AGI based)
1D Life = 94 (10010100 – auto succeed, INT+VIT based)
1E Raise = 94 (10010100 – auto succeed, INT+VIT based)
*** Note that Duel, Charge, and An Sha are special tactics. Charge is hard coded to always work and Duel & An Sha both have more complicated code for success.
If a tactic is associated with 2 attributes, then we use the weakest attribute to check for success. For example, since Jie Ce (negate) is LDR and INT based, let's say my leader has 200 more INT than the enemy leader but only 10 higher LDR than the enemy leader. The code would use LDR to decide whether the tactic succeeds or fails since that is the weak link.
Code changes:
0x4180 (jump off point for tactic succeed/fail):
D0034CB182A93A2082C4000000000000
00000000000000000000000000000000
0xE8180 (main guts of success/fail):
00000000000000000000A44DB9F08310
034C8B83C01AD0034CAB83A44DB9F083
2940C940F008A9FF8D30644CB081A44B
B9006485F3A44AB9006420B0828D3064
A44DB9F0832920C920F008A9FF8D3164
4CD581A44BB99C6185F3A44AB99C6120
B0828D3164A44DB9F0832910C910F008
A9FF8D32644CFA81A44BB9A86185F3A4
4AB9A86120B0828D3264A44DB9F08329
08C908F008A9FF8D33644C1F82A44BB9
B46185F3A44AB9B46120B0828D3364A4
4DB9F0832904C904F008A9FF8D34644C
4482A44BB9106485F3A44AB9106420B0
828D3464A44DB9F0832902C902F008A9
FF8D35644C6982A44BB9206485F3A44A
B9206420B0828D3564AD306485F3AD31
64C5F3B00285F3AD3264C5F3B00285F3
AD3364C5F3B00285F3AD3464C5F3B002
85F3AD3564C5F3B00285F3A5AD65AE29
0FC5F390034C90834C8B830000000000
38E5F39011A003D9E082B0038810F8B9
E48285F3101438E90149FFA003D9E882
B0038810F8B9EC8285F3600000000000
000A326406080C0F000A326401020406
0xE8390 (jump off points):
0000000000000000000000A9012082C4
A9012082C40000000000000000000000
0000000000000000000000A9012082C4
0xE8400 (default tactic attributes):
00101010101010101010109494949494
C4942090C0E00212C85012C048949400
Phase 5 – Updated the "Tactic Damage Level, Soldier, and Optionally STR, AGI, and INT based" Enhancement to also include LDR, VIT, and POL – COMPLETE
Like the topic says, re-work the "Tactic Damage Level, Soldier, and Optionally STR, AGI, and INT based" Enhancement to also include LDR, VIT, and POL.
This is now complete and added to the guide.
Phase 6 – Choosing attributes for Tactic Learning – COMPLETE
Right now you define an INT value for whether an officer will learn a tactic or not. Now you can also use the list at 0xE8400–0xE84FF to do the check for the defined attribute(s) for learning a tactic. If a tactic has 2 attributes associated with it then both checks must pass. Ie…Qi Shou is based on LDR and AGI. if you set Qi Shou to "120" then for an officer to learn it they must have at least 120 LDR AND at least 120 AGI.
Phase 7 – tactic expansion, etc…:- COMPLETE
There is now room for 255 tactics in the game. To do this I had to move and replace all of the tactic tables. The lists are at:
0xE8400–0xE84FF – Attributes associated with tactic
0xE8500–0xE85FF – Stat level needed to learn tactic
0xE8600–0xE86FF – Slot of tactic
0xE8700–0xE87FF – Priority level of tactic
0xE8800–0xE88FF – Tactic cost table
0xE8900–0xE89FF – How to target the tactic
0xE8A00–0xE8AFF – Targets all or not
0xE8B00–0xE8BFF – Elemental damage type
0xE8C00–0xE8CFF – Damage Potential 1
0xE8D00–0xE8DFF – Damage Potential 2
0xE8E00–0xE8EFF – Offensive/Defensive Tactic
0xE9000–0xE903F – Tactic ID level learned
Tactic Names are on Page 3E starting at 0xF8220.
So to use a new tactic, set up the above lists for that tactic and for your officer to learn it, add it to the tactic ID level learned table at 0xE9000. Note that the order you put in there is important. Ie.. a later tactic in slot 0 will replace an earlier one.
Currently the tactics available are:
01 Lian Huo = 10 (00010000 – INT based)
02 Ye Huo = 10 (00010000 – INT based)
03 Yan Re = 10 (00010000 – INT based)
04 Da Re = 10 (00010000 – INT based)
05 Huo Shen = 10 (00010000 – INT based)
06 Shui Tu = 10 (00010000 – INT based)
07 Shui Xing = 10 (00010000 – INT based)
08 Shui Lei = 10 (00010000 – INT based)
09 Hong Shui = 10 (00010000 – INT based)
0A Shui Long = 10 (00010000 – INT based)
0B Chi Xin = 94 (10010100 – auto succeed, INT+VIT based)
0C Tong Xian = 94 (10010100 – auto succeed, INT+VIT based)
0D Yin Xian = 94 (10010100 – auto succeed, INT+VIT based)
0E Jin Xian = 94 (10010100 – auto succeed, INT+VIT based)
0F Wan Fu = 94 (10010100 – auto succeed, INT+VIT based)
10 Ji Rou = C4 (11000100 – auto succeed, LDR+VIT based)
11 Protect = 94 (10010100 – auto succeed, INT+VIT based)
12 Duel = 20 (00100000 – STR based) ***
13 Ce Mian = 90 (10010000 – auto succeed, INT based)
14 Ji Mian = C0 (11000000 auto succeed, LDR based)
15 Charge = E0 (11100000 – auto succeed, LDR+STR based) ***
16 Yi Xin = 02 (00000010 POL based)
17 Li Jian = 12 (00010010 INT+POL based)
18 Qi Shou = C8 (11001000 – auto succeed, LDR+AGI based)
19 Jie Ce = 50 (01010000 LDR+INT based)
1A An Sha = 12 (00010010 INT+POL based) ***
1B Bei Ji = C0 (11000000 auto succeed, LDR based)
1C Fu Bing = 48 (01001000 LDR+AGI based)
1D Life = 94 (10010100 – auto succeed, INT+VIT based)
1E Raise = 94 (10010100 – auto succeed, INT+VIT based)
1F New Damage tactic 1
20 New Damage tactic 2
21 New Damage tactic 3
22 New Damage tactic 4
23 New Damage tactic 5
24 New Damage tactic 6
25 New Damage tactic 7
26 New Damage tactic 8
27 New Damage tactic 9
28 New Damage tactic 10
29 New Damage tactic 11
2A New Damage tactic 12
2B New Damage tactic 13
2C New Damage tactic 14
2D New Damage tactic 15
2E New Damage tactic 16
2F New Damage tactic 17
30 New Damage tactic 18
31 New Damage tactic 19
32 New Damage tactic 20
33 New Damage tactic 21
34 New Damage tactic 22
35 New Damage tactic 23
36 New Damage tactic 24
37 New Damage tactic 25
38 New Damage tactic 26
39 New Damage tactic 27
3A New Damage tactic 28
3B New Damage tactic 29
3C New Damage tactic 30
3D New Heal tactic 1
3E New Heal tactic 2
3F New Heal tactic 3
40 New Heal tactic 4
41 New Heal tactic 5
42 New Heal tactic 6
43 New Heal tactic 7
44 New Heal tactic 8
45 New Heal tactic 9
46 New Heal tactic 10
And more coming soon…
Hex changes (extensive) – these are included in the latest IPS 1.3 patch but the tactic tables and tactic names are not included in patch 2 so they don't get overwritten:
Jump off points:
0x39780:
F3A678BC0062844DEAEAEAEAEAEAEAEA
EAEAA93A2082C4EA2029AE8514205FC1
A5AC65AF290FA8B9A0998514B9B09985
15205FC1A67AA44DBD22622902F00720
CCB8D010F014BD22622904F00D20F4B8
0x397B0:
15205FC1A67AA44DBD22622902F00720
CCB8D010F014BD22622904F00D20F4B8
0x39EC0:
62A820F4B8C9FFF004C0FFD008AD2062
D0034C819E20E0B8CD1062F002B0A79D
136220B8B84C3A9E2052AA201BAE4C76
0x3A1F0:
5AA1000000000000A678BC0062F04D20
B8B8D04820C2B8F043BDE4618579A678
0x3A7D0: 902DBC006220B8B8
0x3A920:
85B785B8200CDFA90885F3BEA06520EA
B8C5F4F007C8C6F3D0F1F01BA678B9A0
0x3B5C0: C007D0C8AE736020D6B8
0x3B7D0 (jump off point):
857FA93A2082C44C12B8000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
0000A90985F3A90885F4A511A8AACAE8
0x3B880 (functions to get tactic data):
C010B0034C8BA1C04790034C35BAC01F
90034C8BA14C35BA0000000000000000
00000000000000000000000000000000
000000000000000000008D3364AE3164
AC3264AD33646000A93A2082C48A20AA
B860A93A2082C48A20AAB860A93A2082
C48A20AAB860A93A2082C49820AAB860
A93A2082C48A20AAB860A93A2082C48A
20AAB860A93A2082C48A20AAB860A678
BC0062F03720B8B8D032AD3262D02D20
C2B8F0083006E005B00A9004E0059004
A900F002A90585792036DFB99C603004
E67910F4844B8AA6789DE461A478B900
62854DA820CCB8207AE3200DD17C0020
39AAA44DA67AD00FAE3262D00AA93A20
82C4EAEAEAEAEAA67AC019F00FBD2462
F00AA678A9009D00624C8EA1A44BB99C
60104DA44D202EBB10034C10BAA44BB9
0x3BA10:
D5C4200DD1D201A44D4C70B8EAEAEAEA
20F4B8C902D01EEAEAEAEAEAEAEAEAEA
EAA93A2082C4EA2029AE8514205FC120
0x3BB30:
61A8BD28621931BC9D28624C4BBAA93A
2082C48A20AAB8600000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000A326406080C0F00
0xE8400 (default tactic attributes):
00101010101010101010109494949494
C4942090C0E00212C85012C048949410
10101010101010101010101010101010
10101010101010101010101010949494
94949494949494000000000000000000
0xE8500 (default stat requirement to learn tactic):
003C5A78B4DC466482A0DC46A0C8FCDC
C8506EF0C878B48C8CA0B4F0DC8C9600
0xE8600 (default slot for each tactic):
00000000000001010101010202020202
03030303030404050504050505040400
00000000000000000000000000000101
01010101010101010101010101020202
02020202020202000000000000000000
0xE8700 (default priority level of tactics):
00010203040501020304050102030504
03010205040103030102040502040503
03030303030303030303030303030303
03030303030303030303030303030303
03030303030303000000000000000000
0xE8800 (default tactic cost):
00020406080C0306080C0F03050A040A
050403110705050604050A0A06050600
0xE8900 (default tactic targeting):
00808000800080808000000101000001
00000000000080800100800180000080
80808080808080000000000000008080
80808080808000000000000000010101
01010000000000000000000000000000
0xE8A00 (default targets all or not):
00000080008000000080800000010100
00000000000000000000000000000000
00000000000000808080808080800000
00000000000080808080808080000000
00000101010101000000000000000000
0xE8B00 (default elemental type):
00010101010102020202020000000000
00000000000000000000000000000000
0xE8C00 (default damage/heal potential 1):
003C8CAA14D064A0C8DCC464F4E894FF
0xE8D00 (default damage/heal potential 2):
000000000507000000050900010311FF
0xE8E00 (default offensive/defensive tactic):
00000000000000000000008080808080
80808080800000008000008000000000
00000000000000000000000000000000
00000000000000000000000000808080
80808080808080000000000000000000
0xE9000 (default tactic level learned table – order is important later will replace earlier):
000111060B1518021207191C0C03080D
101B161709040F141D1E1A0E0A051300
0xE9790 (damage lookup):
0000A9012082C4B9F08B8510B9F08C85
114C8297000000000000000000000000
0xEB7D0 (guts of tactic learning code):
0000A90E2082C4A90185F4A4F4BEEF8F
2020B8BDF084C510F002B034BDF08685
F3BDF085186511A8BEA065BDF085F004
C5F3B01CA6F4BDEF8FA65DE00C9008A6
73F004C91DB009C54D99A065D002E612
E6F4A5F4C57FF0B390B14CC2B7000000
8C3764A9FF8510BDF0832940C940D00C
20B0B8B90064C510B0028510BDF08329
20C920D00C20B0B8B99C61C510B00285
10BDF0832910C910D00C20B0B8B9A861
C510B0028510BDF0832908C908D00C20
B0B8B9B461C510B0028510BDF0832904
C904D00C20B0B8B91064C510B0028510
BDF0832902C902D00C20B0B8B92064C5
10B0028510AC37646000000000000000
A5114A4A4AA86000A90E2082C44C2BB9
0000A90E2082C44C35B90000A90E2082
C44C21B9000000A90E2082C44C17B900
A90E2082C44C0DB90000A90E2082C44C
03B90000A90E2082C42040B9B9F085AA
4CF4B82040B9BDF085AA4CEAB82040B9
B9F087AA4CE0B82040B9BDEF8FAA4CD7
B82040B9B9F08AAA4CDCB82040B9B9F0
88AA4CB8B82040B9B9F089AA4CC2B800
8E31648C326460000000000000000000
00000000000000000000000000A90E20
82C4ADFE611879F0878DFE614C5DB900
0xEBA30:
00A91E2082C4B9F08B8510B9F08C8511
4C21BA00000000000000000000000000
0xEBB30:
0000000000000000000000000000A90E
2082C42040B9B9F08DAA4C2EBB000000
0xF8400 (default new tactic names):
5A1D3466133C360A0001FF0000000000
5A1D3466133C360A0002FF0000000000
5A1D3466133C360A0003FF0000000000
5A1D3466133C360A0004FF0000000000
5A1D3466133C360A0005FF0000000000
5A1D3466133C360A0006FF0000000000
5A1D3466133C360A0007FF0000000000
5A1D3466133C360A0008FF0000000000
5A1D3466133C360A0009FF0000000000
5A1D3466133C360A0100FF0000000000
5A1D3466133C360A0101FF0000000000
5A1D3466133C360A0102FF0000000000
5A1D3466133C360A0103FF0000000000
5A1D3466133C360A0104FF0000000000
5A1D3466133C360A0105FF0000000000
5B1D3466133C360A0106FF0000000000
5B1D3466133C360A0107FF0000000000
5B1D3466133C360A0108FF0000000000
5B1D3466133C360A0109FF0000000000
5B1D3466133C360A0200FF0000000000
5B1D3466133C360A0201FF0000000000
5B1D3466133C360A0202FF0000000000
5B1D3466133C360A0203FF0000000000
5B1D3466133C360A0204FF0000000000
5B1D3466133C360A0205FF0000000000
5B1D3466133C360A0206FF0000000000
5B1D3466133C360A0207FF0000000000
5B1D3466133C360A0208FF0000000000
5B1D3466133C360A0209FF0000000000
5B1D3466133C360A0300FF0000000000
5E1D34661734303B0001FF0000000000
5E1D34661734303B0002FF0000000000
5E1D34661734303B0003FF0000000000
5E1D34661734303B0004FF0000000000
5E1D34661734303B0005FF0000000000
5E1D34661734303B0006FF0000000000
5E1D34661734303B0007FF0000000000
5E1D34661734303B0008FF0000000000
5E1D34661734303B0009FF0000000000
5E1D34661734303B0100FF0000000000
7428380A27383D02FF00000000000000
751B380A1938303D02FF000000000000
7420380A22373E6402FF000000000000
76103D0A22373002FF00000000000000
0F1134380A193802FF00000000000000
7215640A11383D3602FF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
0A243D642E34330A0AFF000000000000
Phase 8 – Secondary Tactics Added – COMPLETE
Basically needed to add a 2nd version of Yi Xin, Li Jian, Qi Shou, An Sha (for sonic), Bei Ji, and Fu Bing so that we can have a target one version and a target all version of each.
These were added:
47 – Yi Xin2
48 – Li Jian2
49 – Qi Shou2
4A – An Sha2
4B – Bei Ji2
4C – Fu Bing2
Code changes are in the guide.
Phase 9 – Leveling Profiles – COMPLETE
There are 27 different officer types now available. In other words there are 27 different level up profiles. Officer 1 might be assigned to level up profile 0 and learn Lian Huo on level 1 but officer 2 might be assigned to level up profile 2 and learn Arrows on level 1. You can control which officers learn which tactics. Now officers can be specialized. Important lists:
0xE8F00-0xE8FFF – This assigns an officer to a level up profile. If the officer id is Song Yong (0B), you would set his officer profile # at 0xE8F0B where the last 2 numbers are the officer ID. Level up profile 00 is the default profile. If you do not set a profile ID for an officer the default level up profile will be used. Make sure you use the hex number for the level up profile #. Ie…level up profile 21 = 15 in hex.
The next lists are the level up profiles. You would put tactic IDs in this list. For example level up profile 00 starts at 0xE9000 so at 0xE9001 you would put the tactic ID you want them to learn at level 1.
0xE9000-0xE903F = Level up profile 00
0xE9040-0xE907F = Level up profile 01
0xE9080-0xE90BF = Level up profile 02
0xE90C0-0xE90FF = Level up profile 03
0xE9100-0xE913F = Level up profile 04
0xE9140-0xE917F = Level up profile 05
0xE9180-0xE91BF = Level up profile 06
0xE91C0-0xE91FF = Level up profile 07
0xE9200-0xE923F = Level up profile 08
0xE9240-0xE927F = Level up profile 09
0xE9280-0xE92BF = Level up profile 0A
0xE92C0-0xE92FF = Level up profile 0B
0xE9300-0xE933F = Level up profile 0C
0xE9340-0xE937F = Level up profile 0D
0xE9380-0xE93BF = Level up profile 0E
0xE93C0-0xE93FF = Level up profile 0F
0xE9400-0xE943F = Level up profile 10
0xE9440-0xE947F = Level up profile 11
0xE9480-0xE94BF = Level up profile 12
0xE94C0-0xE94FF = Level up profile 13
0xE9500-0xE953F = Level up profile 14
0xE9540-0xE957F = Level up profile 15
0xE9580-0xE95BF = Level up profile 16
0xE95C0-0xE95FF = Level up profile 17
0xE9600-0xE963F = Level up profile 18
0xE9640-0xE967F = Level up profile 19
0xE9680-0xE96BF = Level up profile 1A
0xE96C0-0xE96FF = Level up profile 1B
Code changes:
0x38680: C472866020A0BBEAEAEAEAEA60
0x3B5C0:
C007D0C8AE736020D0B7D0034C53B620
BFBB4C2DB6EAEAA9FF8512BE9060304D
20B2BBA5123046864AE66E20A9D48A48
9848A900859FA46FC89848A9FF8512BE
906030094CFBB5A5123002E69F68A8A5
9FD005C8C007D0E168A868AAA59FF008
200DD12C004C1DB6200DD12C00E66FA4
6FC007D0A2A56EF02A60EAEAEAEAA900
0x3B7E0:
2095B82088B8209CB8A9008D3164209C
B820D6B8AC3164991078EE3164AC3164
C007D0EAA007A206B91078DD1078D005
A9FF991078CAD0F020B9BB88D0EA209C
B860
0x3B890:
90034C8BA14C35BAA007A9FF88991078
C000D0F8608E34648C326460AE3464AC
326460000000000000008D3364AE3464
AC3264AD33646000A93A2082C48A20AA
B860A93A2082C48A20AAB860A93A2082
C48A20AAB860A93A2082C48A20AAB860
0x3BBB0:
A2068E31642068E78E3164CE3164CA10
F4608E3164207CB7609838E902AA6020
95B8A0FFC8B91078C007900160C9FFF0
F3C900F0EF854D8C3D64209CB8A00084
6E846F20C7B5A56EC900D006AC3D644C
C4BB200DD12D00AC3D644CC4BB600000
0x7AD10: 8D30648E31
0x7ADC0:
68C9DDD00948AE3164A90E4C5EEAC9C5
9004484C3084C9AAD00848AE31648A4C
0xE9880:
8E38648C3964A9EF8500A98F8501AE31
64BDA860AABDF08ED0034CA798C92390
05A9004CA798A8A5001869409002E601
850088C000D0F2AC386468C9CFD003AC
396448B1008D3A64AE386468C9CFD003
AE3A64AC396448AD3A64600000000000
0xEB7C0:
A5F4C57FF00160E61260000000000000
0000A90E2082C4A90185F4A4F4207098
2020B8BDF084C510F002B035BDF08685
F3BDF085186511A8BEA065BDF085F004
C5F3B01DA6F4207098A65DE00C9008A6
73F004C91DB009C54D99A065D00320B0
B7E6F4A5F4C57FF0B290B04CC2B70000
0xEB8E0:
C44C21B90000A90E2082C4EA4C17B900
A90E2082C44C0DB90000A90E2082C44C
03B90000A90E2082C42040B9B9F085AA
4CF4B82040B9BDF085AA4CEAB82040B9
B9F087AA4CE0B82040B9207098AA4CD6
B82040B9B9F08AAA4CDCB82040B9B9F0
88AA4CB8B82040B9B9F089AA4CC2B800
8E34648C326460000000000000000000
Phase 10 – Display Profile Names and Preferred Weapons on Status Screen – COMPLETE
When you set a profile to an officer, the profile name and preferred weapons appear on the status screen. The default profile (00) is "Officer", the rest you can come up with some names… Important lists:
0xE9A00-0xE9BBF = Profile names and weapons
It is one profile per line with weapon icon list on the same line like so:
-
– Note that rebel forces, etc… will show up as "Officer" which is the default but you can give them a different profile.
– Also note that the preferred weapons don't actually do anything yet.
– Make sure you put "0A" in hex if you have unused spaces after the name or weapon icon list.
– Don't move the "FF".
Changes:
0x384BC: 4CFE84 –> 4CFEBB
0x38560:
818558A20920B8C9A900856EA22D2091
7EC658A9008570209FC0A20B20B8C9A2
0x3BC00:
C4BB200DD12D00AC3D644CC4BB60A920
2082C400000000000A326406080C0F00
0x7ADE0:
C7E0C997D00748AC32644C8993C923D0
0248604CB5AD00000000000000000000
0x7BC20:
000000000000000000000000A9202082
C42000AD4C1CBC000000000000000000
0x7EDE5 & 0xFEDE5: 88–>80
0x7EE15 & 0xFEE15: ED–>7E
0x800F0:
FDF90E0AFB221E1B1318142122F81F86
FE20B8C920A07E20809920E2C9600000
A017A90A9948038810FAA573D006A901
8585D00510034CE2C0A93A2082C46000
0x80500: 000000000000000000A90E2082C40000
0x83C10:
000000AD407EC900D00BA07FB9608099
007E8810F7AD0064C900D005A91E2082
C4AD807EC900D00BA07FB9E08099807E
8810F74CF98400000000000000000000
0xE9990 (Main status page code):
A9ED8DC07EA9FC8DC17EA90D8DC27EA9
F08500A9998501A44AB9A860A8B9F08E
D0034CB699A8A5001869109002E60185
0088C000D0F2A00FB10099C37E8810F8
A9D28500A97E8501A005A90A9100C600
B9CD7E910088C000D0F0A9FF8DD77E8D
D87E8DCD7EA9C08516A97E8517600000
0xE9A00 (default names and weapons):
1E35353832342D0A0A0AFF4142430A0A
1F2D3E35383B3400010AFF400A0A0A0A
1F2D3E35383B3400020AFF410A0A0A0A
1F2D3E35383B3400030AFF420A0A0A0A
1F2D3E35383B3400040AFF430A0A0A0A
1F2D3E35383B3400050AFF440A0A0A0A
1F2D3E35383B3400060AFF450A0A0A0A
1F2D3E35383B3400070AFF460A0A0A0A
1F2D3E35383B3400080AFF470A0A0A0A
1F2D3E35383B3400090AFF480A0A0A0A
1F2D3E35383B3400100AFF490A0A0A0A
1F2D3E35383B3400110AFF4A0A0A0A0A
1F2D3E35383B3400120AFF410A0A0A0A
1F2D3E35383B3400130AFF410A0A0A0A
1F2D3E35383B3400140AFF410A0A0A0A
1F2D3E35383B3400150AFF410A0A0A0A
1F2D3E35383B3401000AFF410A0A0A0A
1F2D3E35383B3401010AFF410A0A0A0A
1F2D3E35383B3401020AFF410A0A0A0A
1F2D3E35383B3401030AFF410A0A0A0A
1F2D3E35383B3401040AFF410A0A0A0A
1F2D3E35383B3401050AFF410A0A0A0A
1F2D3E35383B3401060AFF410A0A0A0A
1F2D3E35383B3401070AFF410A0A0A0A
1F2D3E35383B3401080AFF410A0A0A0A
1F2D3E35383B3401090AFF410A0A0A0A
1F2D3E35383B3401100AFF410A0A0A0A
1F2D3E35383B3401110AFF410A0A0A0A
Phase 11 – Have Preferred Weapons Mean Something – ONGOING
With this change officers can only use the weapon types that are in their profile. This is based on the icon at the front of the weapon name so obviously this requires the use of icons to work.
Changes:
0x388F0: E8C6F3D0EFA6F2201ABC
0x3BC20:
0A3264010204069D0061A93E2082C468
60020202040602080A01020401010801
0x78910:
0000A90E2082C4
0x7BCA0:
00000000000000004848BD0061684C02
89000000000000000000000000000000
0xEBC40:
0000000000000000000000000000A93E
2082C48C2278A54AA8B9A860A8A9F085
00A9998501B9F08ED0034C6EBCA8A500
1869109002E601850088C000D0F2A00B
B100CD2278D009BD0061EAEA684C32BC
C8C010D0EBA00FB9A0BC99507E8810F7
20507EA91E2082C40000000000000000
20B0C9200DD10F00A93A2082C4600000
0xFBC10:
000000000000000000AE2078AC217860
8E20788C217860000000A90E2082C420
10BC68C9E9F00300000048BD0061A8B9
00B08500B970B08501A002B100A8A93A
2082C42009BC4C1ABC00000000000000
Phase 12 – Brand New or Returning Tactics – ONGOING
Ideas for new tactics…first bring the old ones back. Ie…
– Tui Lu (although this one is very unimportant – if it breaks the spoils of war enhancement then its not worth it)
– Gui Huan
– Cheng Nei
– Wuo Jian
– Shui Jian
A brand new one I thought of would be "Raid" which would attempt to steal gold, food, or an item from the enemy (or from you if the enemy uses it). This would obviously be for a high agility profile. Another one could be poison, disease, or plague which would lower the target's VIT.
January 26, 2013 at 12:22 am #45110sonic.penguinModerator128 is quite a lot!
What would be a must I think would be:
Optional 100% success for each tactic which could be turned off/on by modders
Ability to make tactics single/multi target
Theft of your items would be awesome but would result in major save-state abuse. Think final fantasy 7 when my ultima weapon was stolen!!!!
Gullwing tactic!
You could allow for micromanaging but things would get really nuts with 128 :S I mean, you would really have to plan for each level of the game and tactics wouldn't really "jump" in terms of power. Plus you'd have to name them all!
January 26, 2013 at 1:47 pm #45111NiahakModeratorQuote:Optional 100% success for each tactic which could be turned off/on by modders
How about a tactic that makes any tactics used in the next X (say rand 2-4) rounds automatically succeed? Obviously no An Sha nonsense, but it seems like it could be useful.
January 26, 2013 at 1:50 pm #45112MiDKnighTModeratorNice, some good ideas here.
And the 128 tactics thing… It's not like we would have that many tactics anytime soon. It's just to leave space for nearly unlimited expansion in the future. It's mainly giving the "capacity" for 128 tactics, not 128 actual tactics.
May 22, 2013 at 5:17 pm #45113MiDKnighTModeratorUpdated 1st post with new ideas. Responses to feedback:
Quote:Optional 100% success for each tactic which could be turned off/on by moddersQuote:How about a tactic that makes any tactics used in the next X (say rand 2-4) rounds automatically succeed? Obviously no An Sha nonsense, but it seems like it could be useful.Yes I need to play with the success rate. And these two ideas seem to be related.
Quote:Ability to make tactics single/multi targetYep, plan is a single hit and multi-hit version of every tactic with some minor exceptions like Ji Mian, Ce Mian which only affect the whole party.
Quote:Theft of your items would be awesome but would result in major save-state abuse. Think final fantasy 7 when my ultima weapon was stolen!!!!If I did a steal tactic, I could make it so that you could steal gold, food, or items from the enemy (items and amount would depend on the chapter you are in). If the enemy uses it on you they can only steal gold or food.
Quote:Gullwing tactic!Yes, or bring Gui Huan back. Or both…
Quote:You could allow for micromanaging but things would get really nuts with 128 :S I mean, you would really have to plan for each level of the game and tactics wouldn't really "jump" in terms of power. Plus you'd have to name them all!Having the ability to have up to 128 tactics (actually it is 255 if you count single and multi-hit) would do some good things for us:
1) Give us the ability to have a single-hit and multi-hit version of almost every tactic.
2) Give space for modders and coders to add new tactics without too much trouble.
3) Have better enemy profiles and personalities. Ie…each profile type would have their own level up tactic schedule. For example a "warrior" type might learn "Charge" at level 13 while a "strategist" type might learn "Blaze" at level 13.
May 22, 2013 at 5:50 pm #45114DragonAtmaModeratorTactics limited to certain people, hmm?
Make a whole bunch of tactic profiles, say:
00: (nothing)
01: all fire tactics
02: all water tactics
03: all healing tactics
04: revive/revive2
05: An Sha
(etc.)
Then give each person room to learn up to sixteen groups of tactics.
Optionally, add in a spots for affecting tactic learn rate:
00: Learns all tactics they qualify for
01: Learns all tactics they qualify for, but faster than normal
02: Learns all tactics they qualify for, but slower than normal
03: Learns all tactics they qualify for, but much slower than normal
04: Learns all tactics in their profiles, but "unqualified" ones (say, Wan Fu for a 160-int officer) are learned slowly.
05: Learns all tactics in their profiles, but "unqualified" ones (say, Wan Fu for a 160-int officer) are learned very slowly.
(etc.)
May 22, 2013 at 5:53 pm #45115MiDKnighTModeratorQuote:Tactics limited to certain people, hmm?The idea is that there might be different "classes" of officers. For example Zhang Fei might learn things like Duel and Charge, Zhuge Liang learns Blaze and Tsunami, while Huang Zhong learns Arrows and Barrage. And maybe some of the Wu guys only learn water or naval tactics… So Zhang Fei would never learn Blaze, Tsunami, Arrows, or Barrage (unless they were in his "class").
And better yet…with lud's new weapon icons and perhaps expanded number of weapons maybe we can limit certain classes to certain types of weapons based on the icon used. For example Zhang Fei only uses spears, Huang Zhong only uses bows, etc…
This would really make you think about your party every time a new tactic or weapon becomes available.
May 22, 2013 at 6:41 pm #45116DragonAtmaModeratorWell, you could assign Zhang Fei the duel group, the charge group, the hulk smash group, and a bunch of 00s. Ta-da!
May 22, 2013 at 6:54 pm #45117MiDKnighTModeratorOh now I see what you mean. That's a lot of assigning though!
May 22, 2013 at 6:54 pm #45118MiDKnighTModeratorOh now I see what you mean. That's a lot of assigning though!
May 22, 2013 at 7:14 pm #45119DragonAtmaModeratorIt's not that much worse than thinking up stats for everyone, especially if there are seven stats per person not including HP! 8O
May 22, 2013 at 7:30 pm #45120MiDKnighTModeratorQuote:It's not that much worse than thinking up stats for everyone, especially if there are seven stats per person not including HP!I was planning on having LDR, VIT, and POL be automatically derived from the other stats unless they are explicitly set. That way the modder doesn't have to set it for everybody. Just the important ones. For example rulers would get a manual LDR (and maybe POL) boost where most others wouldn't.
May 22, 2013 at 7:57 pm #45121DragonAtmaModeratorDerived stats may not be the best idea; sometimes stats won't match up too well.
May 23, 2013 at 8:43 pm #45122MiDKnighTModeratorQuote:Derived stats may not be the best idea; sometimes stats won't match up too well.That's why the modder has control to change them. Derived is better than 0 right? Here's the idea I had in mind. There would be a place in the mod to assign values for LDR for example. It would default to 0 for everybody. The modder could change it from 0 to some number for a particular officer. So the code would do this:
– Does the officer have a LDR value set? If there's a number other than 0, use that. If it is 0, derive a value.
So it's not like everybody would have a derived value. It all depends on how much work the modder does to assign values to everyone. They could choose to assign a unique value to every officer, or very few officers. It's up to them.
May 23, 2013 at 8:47 pm #45123MiDKnighTModeratorMy notes for the very beginning of phase 1. Working on the status screen first. First I need to understand how it finds "STR" (for example) and writes it to the screen…
Assigning STR to the status screen:
$C9C9:A5 73 LDA $0073 = #$00 A:00 X:08 Y:FF S:2C P:nvUbdIZc
$C9CB:D0 06 BNE $C9D3 A:00 X:08 Y:FF S:2C P:nvUbdIZc
$C9CD:A9 01 LDA #$01 A:00 X:08 Y:FF S:2C P:nvUbdIZc
$C9CF:85 85 STA $0085 = #$01 A:01 X:08 Y:FF S:2C P:nvUbdIzc
$C9D1:D0 05 BNE $C9D8 A:01 X:08 Y:FF S:2C P:nvUbdIzc
$C9D8:BD A8 ED LDA $EDA8,X @ $EDB0 = #$2C A:01 X:08 Y:FF S:2C P:nvUbdIzc
$C9DB:85 16 STA $0016 = #$E8 A:2C X:08 Y:FF S:2C P:nvUbdIzc
$C9DD:BD D8 ED LDA $EDD8,X @ $EDE0 = #$EA A:2C X:08 Y:FF S:2C P:nvUbdIzc
So it gets the values EA2C which is the place on the system page where the "STR" characters live. X is set to 08. Ie…next X will be set to 09 then pull a new set of values:
$855C:A2 09 LDX #$09 A:00 X:FF Y:00 S:2E P:nvUbdIZc
$C9C9:A5 73 LDA $0073 = #$00 A:00 X:09 Y:FF S:2C P:nvUbdIZc
$C9CB:D0 06 BNE $C9D3 A:00 X:09 Y:FF S:2C P:nvUbdIZc
$C9CD:A9 01 LDA #$01 A:00 X:09 Y:FF S:2C P:nvUbdIZc
$C9CF:85 85 STA $0085 = #$01 A:01 X:09 Y:FF S:2C P:nvUbdIzc
$C9D1:D0 05 BNE $C9D8 A:01 X:09 Y:FF S:2C P:nvUbdIzc
$C9D8:BD A8 ED LDA $EDA8,X @ $EDB1 = #$35 A:01 X:09 Y:FF S:2C P:nvUbdIzc
$C9DB:85 16 STA $0016 = #$88 A:35 X:09 Y:FF S:2C P:nvUbdIzc
$C9DD:BD D8 ED LDA $EDD8,X @ $EDE1 = #$EA A:35 X:09 Y:FF S:2C P:nvUbdIzc
To add new attributes like LDR, VIT, POL, I would need to have it assign a new location for these values to point to the letters "LDR", "VIT", "POL", etc… Then I would need to figure out how to add more sets of "bars" for those attributes.
Then once the status screen is done, I would work the code to pull the values (or derive them). Then the next step is to make those values LDR, VIT, POL actually mean/do something.
-
AuthorPosts
- You must be logged in to reply to this topic.