login

Author Topic: Allowing for attributes higher than 30.  (Read 6850 times)

Offline Ahadhran

  • Mysterious Old Man
  • Craftsman
  • **
  • Posts: 137
    • View Profile
Allowing for attributes higher than 30.
« on: July 07, 2007, 07:30:50 PM »
I didn't see anything for this currently so I though I would give a relatively comprehensible tutorial on how to make it possible to have that strong npc with 100 strength.

Currently, the module system only supports attributes up to 30 with NPCs. To change this you have to edit header_troops.py.

Attribute definitions look like this:
str_3          = bignum | 0x00000003

You will see if you look in header_troops.py, that the numbers only go up to 30. Thus you have to define higher numbers yourself.

Each attribute uses a different 2 digits of the 8 digit hex code, the layout is as such:
strength:          0x00000000
agility:               0x00000000
intellegence:   0x00000000
charisma:         0x00000000

To define higher values you just need to follow the format for each attribute and put the hex number for the value of the attribute you want into the two digit spot shown above. Example of attribute of 60 in all 4 attributes below:
str_60           = | bignum 0x0000003c                       3c is the hex number for 60. If you can't count in hexadecimal just use the windows calculater.
agi_60          = | bignum  0x00003c00
int_60           = | bignum 0x003c0000
cha_60          = | bignum 0x3c000000

Note:
because it appears that you are limited to just a two digit or smaller hex number, the highest attribute score should be 255 or ff in hex.

Thats it! Now you can extra powerful npcs.

Offline nema

  • Journeyman
  • ***
  • Posts: 272
  • ... what nema made was outside reality...
    • View Profile
    • Guardians party
Re: Allowing for attributes higher than 30.
« Reply #1 on: July 08, 2007, 02:36:25 PM »
Very interesting. So I can believe that if you use this correction, it is possible that if you have someone on strength at 254, for example, an he get enough experience points, he will advance to strength 255.strength and agility at 900How to do this?

Just change values in troops txt.

trp_vagabond_woman Darkness Darkness 28312577 0 0 1
  326 0 324 0 295 0 323 0 348 0 287 0 347 0 322 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0 -1 0
  900 (strength)  500 (agility)  900(intelligence) 900(charisma) 45(level)
 900 900 900 900 900 900 900
33554706 1146093568 262144
  2 126206343895056384 798724 126206343895056384

Here I use agility 500. This one is women in light dress, and she have strange behavior at agility 900. But I use such agility (900) for mans in heavy armors, without any problems. Maybe just because they have heavy armors.

Is it possible to kill such one?

Quote from: nema
Any way what level of strength and agility do you use for killing them ( Darkness troops )


My current strength is 25, with +8 bonus in iron flesh and power strike
My agility is 12, with +4 bonus for agility and riding.
Fighting the Darkness is quite difficult, but I enjoy the challenge - Mount & Blade opponents are often far too easy.
Against Darkness I totally depend on my Shadow war horse, and have several times visited Suelita to get it fixed.

Yeah, he killed them about 830, (with two edged laser sword of course) in battles with 3330 opponents.
« Last Edit: July 08, 2007, 02:45:48 PM by nema »

Offline Ahadhran

  • Mysterious Old Man
  • Craftsman
  • **
  • Posts: 137
    • View Profile
Re: Allowing for attributes higher than 30.
« Reply #2 on: July 08, 2007, 09:27:27 PM »
Yes, if you enter values higher than 255 into the text files it will work, this will likely always be the case. However if you are working strictly with the module system you can not define anything higher than 255 to start with. Once in game, there is no limit to increasing the ability scores as far as I know.

Offline nema

  • Journeyman
  • ***
  • Posts: 272
  • ... what nema made was outside reality...
    • View Profile
    • Guardians party
Re: Allowing for attributes higher than 30.
« Reply #3 on: July 09, 2007, 12:42:49 AM »
Great. I think that new possibilities will be very useful. I already thinking that I will limit myself in future in limits of module system. But now,.... Thank you for this. :)
If no one else, I will be satisfied user of this. >:D

Once in game, there is no limit to increasing the ability scores as far as I know.

Aren't they stop to increasing at 63?

So I can believe that if you use this correction, it is possible that if you have someone on strength at 254, for example, an he get enough experience points, he will advance to strength 255.  :)

I check header_troops.py. I am afraid that this will still not work. Headers definitions resolve only starting values. :( Isn't it true? My problem lies in main program. 63 is dead end for now.
« Last Edit: July 09, 2007, 01:35:50 AM by nema »

Offline nema

  • Journeyman
  • ***
  • Posts: 272
  • ... what nema made was outside reality...
    • View Profile
    • Guardians party
Re: Allowing for attributes higher than 30.
« Reply #4 on: January 07, 2008, 08:09:19 AM »
for copy/paste ;)

str_1            = bignum | 0x00000001
str_2            = bignum | 0x00000002
str_3            = bignum | 0x00000003
str_4            = bignum | 0x00000004
str_5            = bignum | 0x00000005
str_6            = bignum | 0x00000006
str_7            = bignum | 0x00000007
str_8            = bignum | 0x00000008
str_9            = bignum | 0x00000009
str_10           = bignum | 0x0000000a
str_11           = bignum | 0x0000000b
str_12           = bignum | 0x0000000c
str_13           = bignum | 0x0000000d
str_14           = bignum | 0x0000000e
str_15           = bignum | 0x0000000f
str_16           = bignum | 0x00000010
str_17           = bignum | 0x00000011
str_18           = bignum | 0x00000012
str_19           = bignum | 0x00000013
str_20           = bignum | 0x00000014
str_21           = bignum | 0x00000015
str_22           = bignum | 0x00000016
str_23           = bignum | 0x00000017
str_24           = bignum | 0x00000018
str_25           = bignum | 0x00000019
str_26           = bignum | 0x0000001a
str_27           = bignum | 0x0000001b
str_28           = bignum | 0x0000001c
str_29           = bignum | 0x0000001d
str_30           = bignum | 0x0000001e
str_31           = bignum | 0x0000001f
str_32           = bignum | 0x00000020
str_33           = bignum | 0x00000021
str_34           = bignum | 0x00000022
str_35           = bignum | 0x00000023
str_36           = bignum | 0x00000024
str_37           = bignum | 0x00000025
str_38           = bignum | 0x00000026
str_39           = bignum | 0x00000027
str_40           = bignum | 0x00000028
str_41           = bignum | 0x00000029
str_42           = bignum | 0x0000002a
str_43           = bignum | 0x0000002b
str_44           = bignum | 0x0000002c
str_45           = bignum | 0x0000002d
str_46           = bignum | 0x0000002e
str_47           = bignum | 0x0000002f
str_48           = bignum | 0x00000030
str_49           = bignum | 0x00000031
str_50           = bignum | 0x00000032
str_51           = bignum | 0x00000033
str_52           = bignum | 0x00000034
str_53           = bignum | 0x00000035
str_54           = bignum | 0x00000036
str_55           = bignum | 0x00000037
str_56           = bignum | 0x00000038
str_57           = bignum | 0x00000039
str_58           = bignum | 0x0000003a
str_59           = bignum | 0x0000003b
str_60           = bignum | 0x0000003c

agi_1            = bignum | 0x00000100
agi_2            = bignum | 0x00000200
agi_3            = bignum | 0x00000300
agi_4            = bignum | 0x00000400
agi_5            = bignum | 0x00000500
agi_6            = bignum | 0x00000600
agi_7            = bignum | 0x00000700
agi_8            = bignum | 0x00000800
agi_9            = bignum | 0x00000900
agi_10           = bignum | 0x00000a00
agi_11           = bignum | 0x00000b00
agi_12           = bignum | 0x00000c00
agi_13           = bignum | 0x00000d00
agi_14           = bignum | 0x00000e00
agi_15           = bignum | 0x00000f00
agi_16           = bignum | 0x00001000
agi_17           = bignum | 0x00001100
agi_18           = bignum | 0x00001200
agi_19           = bignum | 0x00001300
agi_20           = bignum | 0x00001400
agi_21           = bignum | 0x00001500
agi_22           = bignum | 0x00001600
agi_23           = bignum | 0x00001700
agi_24           = bignum | 0x00001800
agi_25           = bignum | 0x00001900
agi_26           = bignum | 0x00001a00
agi_27           = bignum | 0x00001b00
agi_28           = bignum | 0x00001c00
agi_29           = bignum | 0x00001d00
agi_30           = bignum | 0x00001e00
agi_31           = bignum | 0x00001f00
agi_32           = bignum | 0x00002000
agi_33           = bignum | 0x00002100
agi_34           = bignum | 0x00002200
agi_35           = bignum | 0x00002300
agi_36           = bignum | 0x00002400
agi_37           = bignum | 0x00002500
agi_38           = bignum | 0x00002600
agi_39           = bignum | 0x00002700
agi_40           = bignum | 0x00002800
agi_41           = bignum | 0x00002900
agi_42           = bignum | 0x00002a00
agi_43           = bignum | 0x00002b00
agi_44           = bignum | 0x00002c00
agi_45           = bignum | 0x00002d00
agi_46           = bignum | 0x00002e00
agi_47           = bignum | 0x00002f00
agi_48           = bignum | 0x00003000
agi_49           = bignum | 0x00003100
agi_50           = bignum | 0x00003200
agi_51           = bignum | 0x00003300
agi_52           = bignum | 0x00003400
agi_53           = bignum | 0x00003500
agi_54           = bignum | 0x00003600
agi_55           = bignum | 0x00003700
agi_56           = bignum | 0x00003800
agi_57           = bignum | 0x00003900
agi_58           = bignum | 0x00003a00
agi_59           = bignum | 0x00003b00
agi_60           = bignum | 0x00003c00

int_1            = bignum | 0x00010000
int_2            = bignum | 0x00020000
int_3            = bignum | 0x00030000
int_4            = bignum | 0x00040000
int_5            = bignum | 0x00050000
int_6            = bignum | 0x00060000
int_7            = bignum | 0x00070000
int_8            = bignum | 0x00080000
int_9            = bignum | 0x00090000
int_10           = bignum | 0x000a0000
int_11           = bignum | 0x000b0000
int_12           = bignum | 0x000c0000
int_13           = bignum | 0x000d0000
int_14           = bignum | 0x000e0000
int_15           = bignum | 0x000f0000
int_16           = bignum | 0x00100000
int_17           = bignum | 0x00110000
int_18           = bignum | 0x00120000
int_19           = bignum | 0x00130000
int_20           = bignum | 0x00140000
int_21           = bignum | 0x00150000
int_22           = bignum | 0x00160000
int_23           = bignum | 0x00170000
int_24           = bignum | 0x00180000
int_25           = bignum | 0x00190000
int_26           = bignum | 0x001a0000
int_27           = bignum | 0x001b0000
int_28           = bignum | 0x001c0000
int_29           = bignum | 0x001d0000
int_30           = bignum | 0x001e0000
int_31           = bignum | 0x001f0000
int_32           = bignum | 0x00200000
int_33           = bignum | 0x00210000
int_34           = bignum | 0x00220000
int_35           = bignum | 0x00230000
int_36           = bignum | 0x00240000
int_37           = bignum | 0x00250000
int_38           = bignum | 0x00260000
int_39           = bignum | 0x00270000
int_40           = bignum | 0x00280000
int_41           = bignum | 0x00290000
int_42           = bignum | 0x002a0000
int_43           = bignum | 0x002b0000
int_44           = bignum | 0x002c0000
int_45           = bignum | 0x002d0000
int_46           = bignum | 0x002e0000
int_47           = bignum | 0x002f0000
int_48           = bignum | 0x00300000
int_49           = bignum | 0x00310000
int_50           = bignum | 0x00320000
int_51           = bignum | 0x00330000
int_52           = bignum | 0x00340000
int_53           = bignum | 0x00350000
int_54           = bignum | 0x00360000
int_55           = bignum | 0x00370000
int_56           = bignum | 0x00380000
int_57           = bignum | 0x00390000
int_58           = bignum | 0x003a0000
int_59           = bignum | 0x003b0000
int_60           = bignum | 0x003c0000

cha_1            = bignum | 0x01000000
cha_2            = bignum | 0x02000000
cha_3            = bignum | 0x03000000
cha_4            = bignum | 0x04000000
cha_5            = bignum | 0x05000000
cha_6            = bignum | 0x06000000
cha_7            = bignum | 0x07000000
cha_8            = bignum | 0x08000000
cha_9            = bignum | 0x09000000
cha_10           = bignum | 0x0a000000
cha_11           = bignum | 0x0b000000
cha_12           = bignum | 0x0c000000
cha_13           = bignum | 0x0d000000
cha_14           = bignum | 0x0e000000
cha_15           = bignum | 0x0f000000
cha_16           = bignum | 0x10000000
cha_17           = bignum | 0x11000000
cha_18           = bignum | 0x12000000
cha_19           = bignum | 0x13000000
cha_20           = bignum | 0x14000000
cha_21           = bignum | 0x15000000
cha_22           = bignum | 0x16000000
cha_23           = bignum | 0x17000000
cha_24           = bignum | 0x18000000
cha_25           = bignum | 0x19000000
cha_26           = bignum | 0x1a000000
cha_27           = bignum | 0x1b000000
cha_28           = bignum | 0x1c000000
cha_29           = bignum | 0x1d000000
cha_30           = bignum | 0x1e000000
cha_31           = bignum | 0x1f000000
cha_32           = bignum | 0x20000000
cha_33           = bignum | 0x21000000
cha_34           = bignum | 0x22000000
cha_35           = bignum | 0x23000000
cha_36           = bignum | 0x24000000
cha_37           = bignum | 0x25000000
cha_38           = bignum | 0x26000000
cha_39           = bignum | 0x27000000
cha_40           = bignum | 0x28000000
cha_41           = bignum | 0x29000000
cha_42           = bignum | 0x2a000000
cha_43           = bignum | 0x2b000000
cha_44           = bignum | 0x2c000000
cha_45           = bignum | 0x2d000000
cha_46           = bignum | 0x2e000000
cha_47           = bignum | 0x2f000000
cha_48           = bignum | 0x30000000
cha_49           = bignum | 0x31000000
cha_50           = bignum | 0x32000000
cha_51           = bignum | 0x33000000
cha_52           = bignum | 0x34000000
cha_53           = bignum | 0x35000000
cha_54           = bignum | 0x36000000
cha_55           = bignum | 0x37000000
cha_56           = bignum | 0x38000000
cha_57           = bignum | 0x39000000
cha_58           = bignum | 0x3a000000
cha_59           = bignum | 0x3b000000
cha_60           = bignum | 0x3c000000

Chel

  • Guest
Re: Allowing for attributes higher than 30.
« Reply #5 on: June 06, 2008, 05:27:18 PM »
if anyone is looking to use higher str/agi values, the header_troops.py in my EGII mod has HEX values up to 220 strength and agility.

Offline nema

  • Journeyman
  • ***
  • Posts: 272
  • ... what nema made was outside reality...
    • View Profile
    • Guardians party
Re: Allowing for attributes higher than 30.
« Reply #6 on: June 10, 2008, 03:43:06 AM »
Thanks Chel for this notice. (but in midtime I alreday found it where you said. :) :) :))

« Last Edit: June 10, 2008, 03:49:47 AM by nema »

Offline fujiwara

  • Master
  • *****
  • Posts: 858
    • View Profile
Re: Allowing for attributes higher than 30.
« Reply #7 on: June 10, 2008, 10:10:26 AM »
I've got values up to 255 for all attributes, if anyone wants it.

Writing code to write code is neat.

The horses tend to get their legs caught in the catapult rather than being properly launched.