CamDawg Posted August 7, 2013 Share Posted August 7, 2013 Just wanted to start a thread to try and document some of the new files and features of the EE-variant of the IE engine. For the most part, it's a straight BG2-ToB engine with some new wrinkles. The AreaCheckObject trigger is more robust (i.e. no crashes). Nearest object trigger was nreliable and now works. nthNearestObject and nthNearestMyGroupOfType would always return the nearest object and now actually behave as expected. NearestDoor didn't work with nested objects (i.e. NearestDoor(Myself)) but does on EE. The TakePartyItem action (and its variants), when performed by a non-party member, would fill the creature's magic weapon slot and then its inventory. In EE, the magic weapon slot is ignored and items taken go straight to the inventory. PickPocketFailed() now just passes along PickPocketFailed and not AttackedBy. (Sorry, link goes to the NDA'd bug tracker, but EE treats this trigger exactly like TobEx.) Opcode 243 (item charge drain) works in EE: 243 (0x0F3) Item: Drain Item Charges [243] Parameter #1: Item Type Parameter #2: Number to Drain Description: Magical items matching the 'Item Type' value on the targeted creature(s) will have their charges drained by Number to Drain. Non-recharging items drained of all their charges are destroyed. Known values for 'Item Type' are: 0 Magical items excluding weapons 1 Magical items including weapons It only drains charges from magical headers (3) and does not destroy items that recharge (i.e. so it would drain Kitthix's figurine but not destroy; wands will be drained and destroyed). It will not drain items flagged as unsellable (bit 0 at 0x18) and will drain only if the item is flagged as magical and droppable (bits 2 and 6 at 0x18). Opcodes 146, 147, and 148 now behave when used in conjunction with containers. Opcode 232 has some additional arguments for parameter2. 12 is for making a kill and is used by Dorn's sword to grant him a 24-hour-long extra +1 thac0 after making a kill. 13 is TimeofDay (parameter1 needs to be set to 0, 0x2c contains the time). This is used by the Night Club to grant extra bonuses at night. Opcode 319 is a new opcode used to restrict items to specific IDS values: Opcode #319 Usability Spell level set to 1 means only usable by Parameter #1: IDS Entry Parameter #2: IDS File Special: STRREF displayed in the item description. It also has a secondary use where it can be used to restrict items to a specific NPC--using the name STRREF in parameter1, death variable in the resource field, and parameter2 to 10. Opcode 320 lets you change the weather: Parameter #1: Type 1: Rain 2: Snow 3: Nothing A new scripting action, 353 AdvanceTime( I:Time*GTIMES), allows for arbitrary advancement of the game time. Cromwell's forging really can take 24 hours without shenanigans. 352 SetAreaScript(S:Script*,I:ScriptSlot) lets you change and set area scripts on the fly. Unlike ChangeAIScript it doesn't have to be run from an area, i.e. it'll work on an area without a script. Opcode 321 is basically IWD's 254, Removal: Effects specified by Resource, which allows you to dispel/remove effects based on what spell they came from. It should only be used with limited timing modes with 0 duration (otherwise it behaves like 206). Quote Link to comment
CamDawg Posted August 7, 2013 Author Share Posted August 7, 2013 Next, new (and changed) 2da files. backstab will now take additional rows for custom backstab multiplier progression: 2DA V1.0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 THIEF 1 2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 SHADOWDANCER 1 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ASSASIN 1 2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 BOUNTY_HUNTER 1 2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 STALKER 1 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 banttimg controls the (previously hardcoded) timing of banters: 2DA V1.0 0 VALUE FREQUENCY 600 PROBABILITY 10 REPLAYDELAY 150 SPECIALPROBABILITY 25 clascolr sets default coloring for new characters based on their class/kit: 2DA V1.0 54 MAGE SORCERER FIGHTER CLERIC THIEF BARD PALADIN DRUID RANGER FIGHTER_MAGE FIGHTER_CLERIC FIGHTER_THIEF FIGHTER_MAGE_THIEF MAGE_THIEF CLERIC_MAGE CLERIC_THIEF FIGHTER_DRUID FIGHTER_MAGE_CLERIC CLERIC_RANGER ABJURER CONJURER DIVINER ENCHANTER ILLUSIONIST INVOKER NECROMANCER TRANSMUTER BERSERKER WIZARD_SLAYER KENSAI CAVALIER INQUISITOR UNDEAD_HUNTER FERALAN STALKER BEASTMASTER ASSASIN BOUNTY_HUNTER SWASHBUCKLER BLADE JESTER SKALD TOTEMIC_DRUID SHAPESHIFTER BEAST_FRIEND TALOS HELM LATHANDER MONK BARBARIAN WILDMAGE Blackguard SHADOWDANCER DWARVEN_DEFENDER DRAGON_DISCIPLE DARK_MOON SUN_SOUL METAL 57 67 30 25 24 24 25 30 30 57 25 24 24 57 57 24 30 24 25 57 57 57 57 57 57 57 57 72 72 72 67 25 93 28 93 30 182 24 93 24 24 24 30 30 30 25 18 67 25 30 57 182 142 28 67 25 67 MINOR_CLOTH 58 46 91 28 99 67 28 86 37 58 28 99 58 58 58 99 86 46 28 58 58 58 58 58 58 58 58 46 58 67 25 28 72 93 182 86 182 99 99 67 67 99 54 54 54 83 5 25 28 91 58 182 142 93 25 83 25 MAIN_CLOTH 122 47 93 57 169 56 57 37 86 122 57 169 169 122 122 169 37 57 37 122 122 122 122 122 122 122 122 47 122 169 70 57 169 91 136 37 136 144 169 56 56 169 52 52 52 66 24 79 57 93 122 136 136 91 70 66 79 LEATHER 1 2 23 2 2 2 2 1 1 1 2 2 2 1 1 2 1 2 2 1 1 1 1 1 1 1 1 2 2 93 93 2 93 91 184 1 184 2 93 2 2 2 23 23 23 28 27 23 2 23 1 184 182 91 94 28 23 ARMOR 43 43 93 24 93 25 24 110 110 43 24 93 93 43 43 93 110 93 24 43 43 43 43 43 43 43 43 93 93 72 43 24 72 93 93 110 142 93 72 25 25 25 30 30 30 23 30 24 24 93 43 142 136 93 43 23 24 clasiskl sets the initial scores for thieving abilities: 2DA V1.0 * MAGE FIGHTER CLERIC THIEF BARD PALADIN DRUID RANGER FIGHTER_MAGE FIGHTER_CLERIC FIGHTER_THIEF FIGHTER_MAGE_THIEF MAGE_THIEF CLERIC_MAGE CLERIC_THIEF FIGHTER_DRUID FIGHTER_MAGE_CLERIC CLERIC_RANGER ABJURER CONJURER DIVINER ENCHANTER ILLUSIONIST INVOKER NECROMANCER TRANSMUTER BERSERKER WIZARD_SLAYER KENSAI CAVALIER INQUISITOR UNDEAD_HUNTER FERALAN STALKER BEASTMASTER ASSASIN BOUNTY_HUNTER SWASHBUCKLER BLADE JESTER SKALD TOTEMIC_DRUID SHAPESHIFTER BEAST_FRIEND TALOS HELM LATHANDER MONK BARBARIAN SORCERER WILDMAGE DARK_MOON DRAGON_DISCIPLE DWARVEN_DEFENDER PICK_POCKETS 0 0 0 0 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 25 25 0 0 0 0 0 0 0 0 0 0 0 0 0 OPEN_LOCKS 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 FIND_TRAPS 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 MOVE_SILENTLY 0 0 0 0 0 0 0 15 0 0 0 0 0 0 0 0 0 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 15 15 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 HIDE_IN_SHADOWS 0 0 0 0 0 0 0 15 0 0 0 0 0 0 0 0 0 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 15 15 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 DETECT_ILLUSION 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 SET_TRAPS 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 clastext will allow for the setting of custom bios based on the character's class/kit, but is not yet finalized. clasthac allows for setting additional thac0 penalties based on class/kit: 2DA V1.0 * MAGE FIGHTER CLERIC THIEF BARD PALADIN DRUID RANGER FIGHTER_MAGE FIGHTER_CLERIC FIGHTER_THIEF FIGHTER_MAGE_THIEF MAGE_THIEF CLERIC_MAGE CLERIC_THIEF FIGHTER_DRUID FIGHTER_MAGE_CLERIC CLERIC_RANGER ABJURER CONJURER DIVINER ENCHANTER ILLUSIONIST INVOKER NECROMANCER TRANSMUTER BERSERKER WIZARD_SLAYER KENSAI CAVALIER INQUISITOR UNDEAD_HUNTER FERALAN STALKER BEASTMASTER ASSASIN BOUNTY_HUNTER SWASHBUCKLER BLADE JESTER SKALD TOTEMIC_DRUID SHAPESHIFTER BEAST_FRIEND TALOS HELM LATHANDER MONK BARBARIAN SORCERER WILDMAGE DARK_MOON DRAGON_DISCIPLE DWARVEN_DEFENDER BONUS 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 clsrcreq externalizes which races are allowed to select which classes, as well as which races can dual-class. Same implementation as TobEx. 2DA V1.0 1 HUMAN ELF HALF_ELF DWARF HALFLING GNOME HALFORC MAGE 1 1 1 0 0 1 0 FIGHTER 1 1 1 1 1 1 1 CLERIC 1 1 1 1 1 1 1 THIEF 1 1 1 1 1 1 1 BARD 1 0 1 0 0 0 0 PALADIN 1 0 0 0 0 0 0 FIGHTER_MAGE 0 1 1 0 0 1 0 FIGHTER_CLERIC 0 0 1 1 0 1 1 FIGHTER_THIEF 0 1 1 1 1 1 1 FIGHTER_MAGE_THIEF 0 1 1 0 0 0 0 DRUID 1 0 1 0 0 0 0 RANGER 1 1 1 0 0 0 0 MAGE_THIEF 0 1 1 0 0 1 0 CLERIC_MAGE 0 0 1 0 0 1 0 CLERIC_THIEF 0 0 0 0 0 1 1 FIGHTER_DRUID 0 0 1 0 0 0 0 FIGHTER_MAGE_CLERIC 0 0 1 0 0 0 0 CLERIC_RANGER 0 0 1 0 0 0 0 SORCERER 1 1 1 0 0 0 0 MONK 1 0 0 0 0 0 0 DUALCLASS 1 0 0 0 0 0 0 clswpbon externalizes non-proficiency penalties, as well as which classes get the bonus APR from wspatck. UNARMED_DIVISOR sets number of attacks for unarmed (i.e. fist) characters--0 means no bonus, non-zero means level/value (rounded down) APR bonus. 2DA V1.0 0 GETS_PROF_APR UNARMED_DIVISOR ZERO_SKILL_THAC0 MAGE 0 0 5 FIGHTER 1 0 2 CLERIC 0 0 3 THIEF 0 0 3 BARD 0 0 3 PALADIN 1 0 2 DRUID 0 0 3 RANGER 1 0 2 FIGHTER_MAGE 1 0 2 FIGHTER_CLERIC 1 0 2 FIGHTER_THIEF 1 0 2 FIGHTER_MAGE_THIEF 1 0 2 MAGE_THIEF 0 0 5 CLERIC_MAGE 0 0 3 CLERIC_THIEF 0 0 3 FIGHTER_DRUID 1 0 2 FIGHTER_MAGE_CLERIC 1 0 2 CLERIC_RANGER 1 0 2 ABJURER 0 0 5 CONJURER 0 0 5 DIVINER 0 0 5 ENCHANTER 0 0 5 ILLUSIONIST 0 0 5 INVOKER 0 0 5 NECROMANCER 0 0 5 TRANSMUTER 0 0 5 WILDMAGE 0 0 5 BERSERKER 1 0 2 WIZARD_SLAYER 1 0 2 KENSAI 1 0 2 CAVALIER 1 0 2 INQUISITOR 1 0 2 UNDEAD_HUNTER 1 0 2 FERALAN 1 0 2 STALKER 1 0 2 BEASTMASTER 1 0 2 ASSASIN 0 0 3 BOUNTY_HUNTER 0 0 3 SWASHBUCKLER 0 0 3 BLADE 0 0 3 JESTER 0 0 3 SKALD 0 0 3 TOTEMIC_DRUID 0 0 3 SHAPESHIFTER 0 0 3 BEAST_FRIEND 0 0 3 TALOS 0 0 3 HELM 0 0 3 LATHANDER 0 0 3 BARBARIAN 1 0 2 BLACKGUARD 1 0 2 SHADOWDANCER 0 0 5 DWARVEN_DEFENDER 1 0 2 DRAGON_DISCIPLE 0 0 5 MONK 1 3 2 DARK_MOON 1 3 2 SUN_SOUL 1 3 2 extanim and extspeed can be used to set various properties of new creature animations: 2DA V1.0 * ARMOR_MAX_CODE CAN_LIE_DOWN DETECTED_BY_INFRAVISION DOUBLE_BLIT EQUIP_HELMET SPLIT_BAMS COLOR_BLOOD COLOR_CHUNKS FALSE_COLOR HEIGHT_CODE HEIGHT_CODE_HELMET HEIGHT_CODE_SHIELD SND_FREQ PERSONAL_SPACE RESREF RESREF_PAPERDOLL RESREF_ARMORBASE RESREF_ARMORSPECIFIC RESREF_SHADOW 2DA V1.0 * SPEED 12288 6 28928 6 28929 6 29184 9 29185 9 29186 9 29187 9 29698 10 29697 10 29696 10 29952 7 29953 7 25600 9 53248 10 30466 5 30464 5 30720 7 32768 8 32523 10 32522 10 28672 7 33024 7 58368 7 58384 7 58400 7 58416 7 57424 6 58624 6 58656 6 57456 8 59392 7 59424 7 59408 7 59440 7 59456 7 59136 7 59152 7 59168 7 57520 7 33280 7 32525 6 36864 8 30465 5 31745 7 31744 7 31232 8 31233 8 31234 8 32559 8 31235 8 31236 8 32512 7 32527 7 31488 10 31490 10 31493 10 31494 10 31492 10 31491 10 31489 10 40960 9 4096 8 32557 8 32000 5 familiar lets you designate familiars per alignment: 2DA V1.0 FAMILIAR L_G FAMPSD N_G FAMPSD C_G FAMFAIR L_N FAMFER N_N FAMRAB C_N FAMCAT L_E FAMIMP N_E FAMDUST C_E FAMQUAS hidespl lets you designate spells to hide from level-up selection screens. Same implementation as TobEx. 2DA V1.0 0 IS_HIDDEN IS_FINAL SPWI001 1 0 SPWI002 1 0 SPWI003 1 0 SPWI004 1 0 SPWI005 1 0 SPWI006 1 0 SPWI007 1 0 SPWI008 1 0 SPWI009 1 0 SPWI010 1 0 SPWI011 1 0 SPWI012 1 0 SPWI013 1 0 SPWI014 1 0 SPWI015 1 0 SPWI016 1 0 SPWI017 1 0 SPWI018 1 0 SPWI019 1 0 SPWI020 1 0 SPWI021 1 0 SPWI022 1 0 SPWI023 1 0 SPWI024 1 0 SPWI025 1 0 SPWI026 1 0 SPWI027 1 0 SPWI050 1 0 SPWI051 1 0 SPWI052 1 0 SPWI053 1 0 SPWI054 1 0 SPWI055 1 0 SPWI056 1 0 SPWI298 1 0 SPWI299 1 0 SPWI399 1 0 SPWI402 1 0 SPWI483 1 0 SPWI484 1 0 SPWI485 1 0 SPWI486 1 0 SPWI487 1 0 SPWI488 1 0 SPWI489 1 0 SPWI490 1 0 SPWI491 1 0 SPWI493 1 0 SPWI494 1 0 SPWI495 1 0 SPWI496 1 0 SPWI497 1 0 SPWI498 1 0 SPWI499 1 0 SPWI590 1 0 SPWI591 1 0 SPWI592 1 0 SPWI593 1 0 SPWI594 1 0 SPWI595 1 0 SPWI596 1 0 SPWI597 1 0 SPWI802 1 0 SPWI853 1 0 SPWI888 1 0 SPWI897 1 0 SPWI898 1 0 SPWI899 1 0 SPWI920 1 0 SPWI921 1 0 SPWI922 1 0 SPWI923 1 0 SPWI924 1 0 SPWI925 1 0 SPWI926 1 1 SPWI927 1 0 SPWI928 1 0 SPWI929 1 0 SPWI930 1 0 SPWI931 1 0 SPWI932 1 0 SPWI933 1 0 SPWI934 1 0 SPWI935 1 0 SPWI936 1 0 SPWI937 1 0 SPWI938 1 0 SPWI939 1 0 SPWI940 1 0 SPWI941 1 0 SPWI942 1 0 SPWI943 1 0 SPWI944 1 0 SPWI945 1 0 SPWI946 1 0 SPWI947 1 0 SPWI948 1 0 SPWI949 1 0 SPWI950 1 0 SPWI951 1 0 SPWI952 1 0 SPWI953 1 0 SPWI954 1 0 SPWI955 1 0 SPWI956 1 0 SPWI957 1 0 SPWI958 1 0 SPWI959 1 0 SPWI960 1 0 SPWI979 1 0 SPWI980 1 0 SPWI981 1 0 SPWI982 1 0 SPWI983 1 0 SPWI984 1 0 SPWI985 1 0 SPWI986 1 0 SPWI987 1 0 SPWI988 1 0 SPWI989 1 0 SPWI990 1 0 SPWI991 1 0 SPWI992 1 0 SPWI993 1 0 SPWI994 1 0 SPWI995 1 0 SPWI996 1 0 SPWI997 1 0 SPWI998 1 0 SPWI999 1 0 SPPR721 1 0 SPPR722 1 0 SPPR723 1 0 SPPR724 1 0 SPPR725 1 0 SPPR726 1 0 SPPR727 1 0 SPPR728 1 0 SPPR729 1 0 SPPR730 1 0 SPPR731 1 0 SPPR732 1 0 hpbarb externalizes the barbarian HP table, same as TobEx: 2DA V1.0 0 SIDES ROLLS MODIFIER 1 12 1 0 2 12 1 0 3 12 1 0 4 12 1 0 5 12 1 0 6 12 1 0 7 12 1 0 8 12 1 0 9 12 1 0 10 12 0 3 11 12 0 3 12 12 0 3 13 12 0 3 14 12 0 3 15 12 0 3 16 12 0 3 17 12 0 3 18 12 0 3 19 12 0 3 20 12 0 3 21 12 0 3 22 12 0 3 23 12 0 3 24 12 0 3 25 12 0 3 26 12 0 3 27 12 0 3 28 12 0 3 29 12 0 3 30 12 0 3 31 12 0 3 32 12 0 3 33 12 0 3 34 12 0 3 35 12 0 3 36 12 0 3 37 12 0 3 38 12 0 3 39 12 0 3 40 12 0 3 hpclass externalizes which HP table to use for each class/kit. New tables can also be created and referenced (see hpdd below). Same implementation as TobEx. 2DA V1.0 HPWAR TABLE FIGHTER HPWAR BERSERKER HPWAR WIZARD_SLAYER HPWAR KENSAI HPWAR DWARVEN_DEFENDER HPBARB RANGER HPWAR ARCHER HPWAR STALKER HPWAR BEAST_MASTER HPWAR PALADIN HPWAR CAVALIER HPWAR INQUISITOR HPWAR UNDEAD_HUNTER HPWAR BLACKGUARD HPWAR CLERIC HPPRS TALOS HPPRS HELM HPPRS LATHANDER HPPRS DRUID HPPRS TOTEMIC_DRUID HPPRS SHAPESHIFTER HPPRS BEAST_FRIEND HPPRS MAGE HPWIZ ABJURER HPWIZ CONJURER HPWIZ DIVINER HPWIZ ENCHANTER HPWIZ ILLUSIONIST HPWIZ INVOKER HPWIZ NECROMANCER HPWIZ TRANSMUTER HPWIZ WILDMAGE HPWIZ THIEF HPROG ASSASIN HPROG BOUNTY_HUNTER HPROG SWASHBUCKLER HPROG SHADOWDANCER HPROG BARD HPROG BLADE HPROG JESTER HPROG SKALD HPROG SORCERER HPWIZ DRAGON_DISCIPLE HPDD MONK HPMONK DARK_MOON HPMONK SUN_SOUL HPMONK BARBARIAN HPBARB FIGHTER_MAGE HPWAR FIGHTER_CLERIC HPWAR FIGHTER_THIEF HPWAR FIGHTER_MAGE_THIEF HPWAR MAGE_THIEF HPWIZ CLERIC_MAGE HPPRS CLERIC_THIEF HPPRS FIGHTER_DRUID HPWAR FIGHTER_MAGE_CLERIC HPWAR CLERIC_RANGER HPPRS hpdd and hp monk are new HP progression tables: 2DA V1.0 0 SIDES ROLLS MODIFIER 1 6 1 0 2 6 1 0 3 6 1 0 4 6 1 0 5 6 1 0 6 6 1 0 7 6 1 0 8 6 1 0 9 6 1 0 10 6 1 0 11 6 0 1 12 6 0 1 13 6 0 1 14 6 0 1 15 6 0 1 16 6 0 1 17 6 0 1 18 6 0 1 19 6 0 1 20 6 0 1 21 6 0 1 22 6 0 1 23 6 0 1 24 6 0 1 25 6 0 1 26 6 0 1 27 6 0 1 28 6 0 1 29 6 0 1 30 6 0 1 31 6 0 1 32 6 0 1 33 6 0 1 34 6 0 1 35 6 0 1 36 6 0 1 37 6 0 1 38 6 0 1 39 6 0 1 40 6 0 1 2DA V1.0 0 SIDES ROLLS MODIFIER 1 8 1 0 2 8 1 0 3 8 1 0 4 8 1 0 5 8 1 0 6 8 1 0 7 8 1 0 8 8 1 0 9 8 1 0 10 8 0 2 11 8 0 2 12 8 0 2 13 8 0 2 14 8 0 2 15 8 0 2 16 8 0 2 17 8 0 2 18 8 0 2 19 8 0 2 20 8 0 2 21 8 0 2 22 8 0 2 23 8 0 2 24 8 0 2 25 8 0 2 26 8 0 2 27 8 0 2 28 8 0 2 29 8 0 2 30 8 0 2 31 8 0 2 32 8 0 2 33 8 0 2 34 8 0 2 35 8 0 2 36 8 0 2 37 8 0 2 38 8 0 2 39 8 0 2 40 8 0 2 item_use externalizes NPC undroppable items, i.e. Alora's luck rabbit foot or Edwin's amulet, as well as what they say about them. Same implementation as TobEx: 2DA V1.0 * USER STRREF FLAG MISC84 MINSC 10218 3 MISC88 ALORA 10219 1 MISC89 EDWIN 10222 1 SW1H13 XAN 10220 2 AROW14 ELDOTH 10221 2 itemanim is another TobEx import: 2DA V1.0 -1 SEQUENCE POTN00 -1 FIRESEED 8 itemtype allows for custom item types as well as their custom sound effects for picking them up and dropping them. There's some discussion of breaking up the misc category into more distinct item types, or using the IWD system of delineating shields and armor into their own types (buckers, small shields, etc. and leather, plate, etc.) but nothing has come of it yet. 2DA V1.0 0 TAKESOUND DROPSOUND SLOT 0 0 0 -1 1 0 0 -1 2 0 0 1 3 0 0 -1 4 0 0 -1 5 0 0 -1 6 0 0 -1 7 0 0 -1 8 0 0 -1 9 0 0 -1 10 0 0 -1 11 0 0 -1 12 0 0 -1 13 0 0 -1 14 0 0 -1 15 0 0 -1 16 0 0 -1 17 0 0 -1 18 0 0 -1 19 0 0 -1 20 0 0 -1 21 0 0 -1 22 0 0 -1 23 0 0 -1 24 0 0 -1 25 0 0 -1 26 0 0 -1 27 0 0 -1 28 0 0 -1 29 0 0 -1 30 0 0 -1 31 0 0 -1 32 0 0 -1 33 0 0 -1 34 0 0 -1 35 0 0 -1 36 0 0 -1 37 0 0 -1 38 0 0 -1 39 0 0 -1 40 0 0 -1 41 GAM_26A GAM_26B 9 42 0 0 -1 43 FAL_01B GAM_21B -1 44 GAM_39A GAM_39B -1 45 ABELA03 ABELA02 -1 46 GAM_23A GAM_23B -1 47 GAM_26A GAM_26B 9 48 FAL_01B GAM_21B -1 49 GAM_26A GAM_26B 9 50 GAM_05 GAM_06 -1 51 GAM_39A GAM_39B -1 52 GAM_21A GAM_21B -1 53 GAM_26A GAM_26B 9 54 GAM_21A GAM_21B -1 55 0 0 -1 56 GAM_38A GAM_38B -1 57 GAM_41A GAM_41B 35 58 GAM_15A GAM_15B -1 59 GAM_15A GAM_15B -1 60 GAM_15A GAM_15B 1 61 GAM_15A GAM_15B 1 62 GAM_16A GAM_16B 1 63 GAM_16A GAM_16B 1 64 GAM_17A GAM_17B 1 65 GAM_17A GAM_17B 1 66 GAM_15A GAM_15B 1 67 GAM_36A GAM_36B 1 68 GAM_16A GAM_16B 1 69 GAM_41A GAM_41B 35 70 0 0 -1 71 GAM_21A GAM_21B -1 72 0 0 -1 73 0 0 -1 loadh25 and loadhint are still present, but unused (no loading screens for EE). mgsrcreq externalizes racial access to arcane kits, same as TobEx: 2DA V1.0 1 CLASS HUMAN ELF HALF_ELF DWARF HALFLING GNOME HALFORC 0x00004000 MAGE 1 1 1 0 0 0 0 0x00000040 ABJURER 1 0 0 0 0 0 0 0x00000080 CONJURER 1 0 1 0 0 0 0 0x00000100 DIVINER 1 1 1 0 0 0 0 0x00000200 ENCHANTER 1 1 1 0 0 0 0 0x00000400 ILLUSIONIST 1 0 0 0 0 1 0 0x00000800 INVOKER 1 0 0 0 0 0 0 0x00001000 NECROMANCER 1 0 0 0 0 0 0 0x00002000 TRANSMUTER 1 0 1 0 0 0 0 0x80000000 WILDMAGE 1 1 1 0 0 0 0 monkfist externalizes the assignment of monk fist weapons per level. It should also be noted that monk AC progression is now granted by their CLAB file and no longer hardcoded. 2DA V1.0 MFIST8 RESREF 1 MFIST1 2 MFIST1 3 MFIST2 4 MFIST2 5 MFIST2 6 MFIST3 7 MFIST3 8 MFIST3 9 MFIST4 10 MFIST4 11 MFIST4 12 MFIST5 13 MFIST5 14 MFIST5 15 MFIST6 16 MFIST6 17 MFIST6 18 MFIST6 19 MFIST7 20 MFIST7 21 MFIST7 22 MFIST7 23 MFIST7 24 MFIST7 25 MFIST8 26 MFIST8 27 MFIST8 28 MFIST8 29 MFIST8 30 MFIST8 31 MFIST8 32 MFIST8 33 MFIST8 34 MFIST8 35 MFIST8 36 MFIST8 37 MFIST8 38 MFIST8 39 MFIST8 40 MFIST8 numwslot externalizes the number of weapons slots per kit/class: 2DA V1.0 4 SLOTS MAGE 2 FIGHTER 4 CLERIC 2 THIEF 2 BARD 2 PALADIN 3 DRUID 2 RANGER 3 FIGHTER_MAGE 2 FIGHTER_CLERIC 2 FIGHTER_THIEF 2 FIGHTER_MAGE_THIEF 2 MAGE_THIEF 2 CLERIC_MAGE 2 CLERIC_THIEF 2 FIGHTER_DRUID 2 FIGHTER_MAGE_CLERIC 2 CLERIC_RANGER 2 ABJURER 2 CONJURER 2 DIVINER 2 ENCHANTER 2 ILLUSIONIST 2 INVOKER 2 NECROMANCER 2 TRANSMUTER 2 BERSERKER 4 WIZARD_SLAYER 4 KENSAI 4 CAVALIER 3 INQUISITOR 3 UNDEAD_HUNTER 3 FERALAN 3 STALKER 3 BEASTMASTER 3 ASSASIN 2 BOUNTY_HUNTER 2 SWASHBUCKLER 2 BLADE 2 JESTER 2 SKALD 2 TOTEMIC_DRUID 2 SHAPESHIFTER 2 BEAST_FRIEND 2 TALOS 2 HELM 2 LATHANDER 2 MONK 3 SORCERER 2 BARBARIAN 4 WILDMAGE 2 Blackguard 3 SHADOWDANCER 2 DWARVEN_DEFENDER 4 DRAGON_DISCIPLE 2 DARK_MOON 3 SUN_SOUL 3 profsmax is actually used and enforced in EE. racetext sets default biographies by race. It's basically TobEx's externalization with a new bio column: 2DA V1.0 -1 ID NAME DESCSTR UPPERCASE BIOGRAPHY HUMAN 1 7193 9550 1096 15895 ELF 2 7194 9552 1097 15891 HALF_ELF 3 7197 9555 1098 15892 DWARF 4 7182 9551 1100 15890 HALFLING 5 7195 9554 1101 15893 GNOME 6 7196 9553 1099 15894 HALF_ORC 7 24200 24204 24202 31709 TIEFLING 153 24201 -1 24203 15891 racethac externalizes the racial to-hit bonuses with specific weapons: 2DA V1.0 0 LABEL HUMAN DWARF ELF GNOME HALF_ELF HALFLING HALFORC 89 BASTARDSWORD 0 0 0 0 0 0 0 90 LONGSWORD 0 0 1 0 0 0 0 91 SHORTSWORD 0 0 1 0 0 0 0 92 AXE 0 0 0 0 0 0 0 93 TWOHANDEDSWORD 0 0 0 0 0 0 0 94 KATANA 0 0 0 0 0 0 0 95 SCIMITARWAKISASHININJATO 0 0 0 0 0 0 0 96 DAGGER 0 0 0 0 0 0 0 97 WARHAMMER 0 0 0 0 0 0 0 115 CLUB 0 0 0 0 0 0 0 98 SPEAR 0 0 0 0 0 0 0 99 HALBERD 0 0 0 0 0 0 0 100 FLAILMORNINGSTAR 0 0 0 0 0 0 0 101 MACE 0 0 0 0 0 0 0 102 QUARTERSTAFF 0 0 0 0 0 0 0 103 CROSSBOW 0 0 0 0 0 0 0 104 LONGBOW 0 0 1 0 0 0 0 105 SHORTBOW 0 0 1 0 0 0 0 106 DART 0 0 0 0 0 0 0 107 SLING 0 0 0 0 0 1 0 111 2HANDED 0 0 0 0 0 0 0 112 SWORDANDSHIELD 0 0 0 0 0 0 0 113 SINGLEWEAPON 0 0 0 0 0 0 0 114 2WEAPON 0 0 0 0 0 0 0 116 EXTRA2 0 0 0 0 0 0 0 117 EXTRA3 0 0 0 0 0 0 0 118 EXTRA4 0 0 0 0 0 0 0 119 EXTRA5 0 0 0 0 0 0 0 120 EXTRA6 0 0 0 0 0 0 0 121 EXTRA7 0 0 0 0 0 0 0 122 EXTRA8 0 0 0 0 0 0 0 123 EXTRA9 0 0 0 0 0 0 0 124 EXTRA10 0 0 0 0 0 0 0 125 EXTRA11 0 0 0 0 0 0 0 126 EXTRA12 0 0 0 0 0 0 0 127 EXTRA13 0 0 0 0 0 0 0 128 EXTRA14 0 0 0 0 0 0 0 129 EXTRA15 0 0 0 0 0 0 0 130 EXTRA16 0 0 0 0 0 0 0 131 EXTRA17 0 0 0 0 0 0 0 132 EXTRA18 0 0 0 0 0 0 0 133 EXTRA19 0 0 0 0 0 0 0 134 EXTRA20 0 0 0 0 0 0 0 sltsteal allows for setting custom difficulties for pickpocketing per item slot; same implementation as TobEx. songlist can be extended beyond 100, same as TobEx. startare is now a generic starting 2da--i.e. startare is used by BGEE for the traditional BG cmapiagn, while startbp is used to kick off the Black Pits campaign. It's identical to BG2's startare except it includes a line to set the XP cap. I believe startpos is still used for player positioning. 2DA V1.0 BADVAL VALUE START_AREA AR2600 START_XPOS 1080 START_YPOS 530 START_AREA_TUTORIAL TU0015 START_XPOS_TUTORIAL 607 START_YPOS_TUTORIAL 660 START_AREA_MP AR4000 START_XPOS_MP 1311 START_YPOS_MP 2347 START_XP 0 START_XP_CAP 161000 stylbonu externalizes the effects of the weapon style proficiency bonii: 2DA V1.0 0 DAMAGE_RIGHT DAMAGE_LEFT THAC0_RIGHT THAC0_LEFT AC_BASE AC_MISSILE SPEED CRITICALROLL TWOHANDED-0 0 0 0 0 0 0 0 0 SINGLEWEAPON-0 0 0 0 0 0 0 0 0 SWORDANDSHIELD-0 0 0 0 0 0 0 0 0 TWOWEAPON-0 0 0 4 8 0 0 0 0 TWOHANDED-1 1 0 0 0 0 0 -2 1 SINGLEWEAPON-1 0 0 0 0 -1 0 0 1 SWORDANDSHIELD-1 0 0 0 0 0 -2 0 0 TWOWEAPON-1 0 0 2 6 0 0 0 0 TWOHANDED-2 1 0 0 0 0 0 -4 1 SINGLEWEAPON-2 0 0 0 0 -2 0 0 1 SWORDANDSHIELD-2 0 0 0 0 0 -4 0 0 TWOWEAPON-2 0 0 0 4 0 0 0 0 TWOWEAPON-3 0 0 0 2 0 0 0 0 summlimt externalizes the summoning caps: 2DA V1.0 0 LIMIT NORMAL 5 CELESTIAL 1 thiefscl scales thieving abilities as a percentage. A value of 300 would mean any point invested in a skill would actually mean 3 points when used in the game. A value of 0 disables the skill for the class/kit. By default these are all 100 or 0 to enable or disable thieving skills: 2DA V1.0 0 MAGE FIGHTER CLERIC THIEF BARD PALADIN DRUID RANGER FIGHTER_MAGE FIGHTER_CLERIC FIGHTER_THIEF FIGHTER_MAGE_THIEF MAGE_THIEF CLERIC_MAGE CLERIC_THIEF FIGHTER_DRUID FIGHTER_MAGE_CLERIC CLERIC_RANGER ABJURER CONJURER DIVINER ENCHANTER ILLUSIONIST INVOKER NECROMANCER TRANSMUTER BERSERKER WIZARD_SLAYER KENSAI CAVALIER INQUISITOR UNDEAD_HUNTER FERALAN STALKER BEASTMASTER ASSASIN BOUNTY_HUNTER SWASHBUCKLER BLADE JESTER SKALD TOTEMIC_DRUID SHAPESHIFTER BEAST_FRIEND TALOS HELM LATHANDER MONK BARBARIAN SORCERER WILDMAGE DARK_MOON DRAGON_DISCIPLE DWARVEN_DEFENDER SHADOWDANCER SUN_SOUL PICK_POCKETS 0 0 0 100 100 0 0 0 0 0 100 100 100 0 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 100 50 100 25 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 OPEN_LOCKS 0 0 0 100 0 0 0 0 0 0 100 100 100 0 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 FIND_TRAPS 0 0 0 100 0 0 0 0 0 0 100 100 100 0 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 100 0 0 0 0 0 0 0 0 0 100 0 0 0 100 0 0 100 100 MOVE_SILENTLY 0 0 0 100 0 0 0 100 0 0 100 100 100 0 100 0 0 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 100 100 100 100 0 0 0 0 0 0 0 0 0 100 0 0 0 100 0 0 100 100 HIDE_IN_SHADOWS 0 0 0 100 0 0 0 100 0 0 100 100 100 0 100 0 0 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 100 100 100 100 0 0 0 0 0 0 0 0 0 100 0 0 0 100 0 0 100 100 DETECT_ILLUSION 0 0 0 100 0 0 0 0 0 0 100 100 100 0 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 100 0 0 0 0 0 0 0 0 0 0 0 0 0 100 0 0 100 0 SET_TRAPS 0 0 0 100 0 0 0 0 0 0 100 100 100 0 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 STEALTH 0 0 0 0 0 0 0 100 0 0 0 0 0 0 0 0 0 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 thiefskl controls the points to distribute at character creation and at subsequent level-ups: 2DA V1.0 0 START_POINTS LEVEL_POINTS THIEF 40 25 SHADOWDANCER 30 15 ASSASIN 40 15 BOUNTY_HUNTER 40 20 SWASHBUCKLER 40 25 MONK 0 10 SUN_SOUL 0 10 DARK_MOON 0 10 FIGHTER_THIEF 40 25 MAGE_THIEF 40 25 CLERIC_THIEF 40 25 FIGHTER_MAGE_THIEF 40 25 tokentxt is used to allow modders to create custom tokens, but I don't actually have any information or examples about how it actually works: 2DA V1.0 * TOKEN_TEXT PROTAGONIST STAT VALUE EQUALITY STRINGT STRINGF traplimt externalizes the trap cap: 2DA V1.0 0 LIMIT THIEF 6 FIGHTER_THIEF 6 FIGHTER_MAGE_THIEF 6 MAGE_THIEF 6 CLERIC_THIEF 6 ASSASIN 6 BOUNTY_HUNTER 6 SWASHBUCKLER 6 SHADOWDANCER 6 Quote Link to comment
CamDawg Posted August 7, 2013 Author Share Posted August 7, 2013 EE has dir.ids, which is now referenced by all of the actions that use an orientation argument (i.e. CreateCreature is now CreateCreature(S:NewObject*,P:Location*,I:Face*DIR): IDS 0 S 1 SSW 2 SW 3 SWW 4 W 5 NWW 6 NW 7 NNW 8 N 9 NNE 10 NE 11 NEE 12 E 13 SEE 14 SE 15 SSE A blank moraleai.ids is included just to shut up DLTCEP. As for actions, I've already mentioned 352 and 353 above: 352 SetAreaScript(S:Script*,I:ScriptSlot) 353 AdvanceTime(I:Time*GTIMES) 354 RunAwayFromNoInterruptNoLeaveArea(O:Creature*,I:Time*) 355 RunAwayFromNoLeaveArea(O:Creature*,I:Time*) 356 TransformItem(S:OldItem*,S:NewItem*) 357 ForceRandomEncounter(S:Area*) 358 JumpToObject(O:Target*) 354 and 355 are simply variants of the existing RunAway actions. TransformItem is a PsT import and allows for changing an item to a new one while still retaining all of the charges/flags of the previous item. When called, ForceRandomEncounter will force the party into the selected area on their next worldmap travel. Only one ForceRandomEncounter can be in play at a time so subsequent use will clear the previous one. It will also be cleared once the party arrives in the designated area. JumpToObject is an IWD2 import. As for triggers: 0x40DD IsTouchGUI() 0x40DE HasDLC(S:DLCName*) 0x40DF BeenInParty(S:Name*) IsTouchGUI() will return true for stuff like iPads and whatnot. HasDLC will always evaluate to true on Windows/OS X/Linux (there's no DLC); on other platforms it will return true or false based on whether the DLC has been purchased. BeenInParty will, oddly enough, return true of the designated object has been in the party. TobEx's NextTriggerObject is in the works if not already in the nightly builds. Quote Link to comment
CamDawg Posted August 7, 2013 Author Share Posted August 7, 2013 Apologies, but apparently some of the links in my OP are going to the private beta testing forums and are not necessarily available to the general public. I'll try to find better links or post the relevant discussions. Quote Link to comment
lynx Posted August 7, 2013 Share Posted August 7, 2013 Wow, thanks! Opcode 232: since 0x2c is already used (iesdp is old there), is the time stored as a word or dword? Hopefully just in the first word. extspeed sounds wonderful. And just a big grin at "A blank moraleai.ids is included just to shut up DLTCEP.". Quote Link to comment
Avenger Posted August 8, 2013 Share Posted August 8, 2013 (edited) 0x2c is a special field that is interpreted opcode specifically in a handful of opcodes. Think of it as a param #2.5 It exists in eff v1, so its use should have been encouraged more instead of param #3 which exists only in eff v2. Edited August 8, 2013 by Avenger Quote Link to comment
CamDawg Posted August 10, 2013 Author Share Posted August 10, 2013 The followup for the NDA'd links. NearestDoor, used with a nested object, crashes ToB. It now behaves as expected, though NearestDoor(Myself) still misbehaves--just use NearestDoor(). Fo the contingency (232) opcode, quoth the Avenger: 12 - Killed - used in dorn's sword13 - TimeOfDay - used in blun38. 0x2c contains the time of day, param1 should be set to 0. For opcode 319, quoth the Coriander: Add to item equipped effects Opcode #319 Usability Spell level set to 1 means only usable by Parameter #1: IDS Entry Parameter #2: IDS File Special: STRREF displayed in the item description. Adding a special case for targeting name.Parameter 1: Name STRREF Parameter 2: 10 The second quote is inaccurate (as was I in my first post), as it was later decided to use DV targeting. To make an item usable by only one creature, parameter2 is set to 10 and the resource field to the DV (paameter1 is not relevant). The interesting revelation from the SetAreaScript thread is that every area in the engine has the full array of six script slots. From Cori: We're adding a new script action that will set the area script. It's mostly self explanatory.The slot options are: 0 DEFAULT 1 GENERAL 2 RACE 3 CLASS 4 OVERRIDE 5+ DEFAULT Only the default script is loaded when you move to an area or load. So you can set an override/race/etc. script for an area, with a caveat. Apparently every object has the full array of these scripts (i.e. areas, containers) but they're not stored through save/load. Cori again: The filetypes are just for storing information, anything that has a script is treated the same way by the engine. Which is why you get bugs like Ulgoth's Beard or Candlekeep displaying text in the upper left corner. If it was a creature, that's where it's head would be. An example usage she gave was TEST.BS IF HotKey(D) THEN RESPONSE #100 SetAreaScript("chicken", 2) END CHICKEN.BCS IF TRUE() THEN RESPONSE #100 CreateCreatureObject("CHICKE", Player1, 0, 0, 0) END which will flood the given area with chickens once you press D. There's not really a lot to add to the 320 description above, or to the AdvanceTime command. Quote Link to comment
CamDawg Posted August 10, 2013 Author Share Posted August 10, 2013 clswpbon externalizes non-proficiency penalties, as well as which classes get the bonus APR from wspatck. UNARMED_DIVISOR sets number of attacks for unarmed (i.e. fist) characters--0 means no bonus, non-zero means level/value (rounded down) APR bonus. This is also in error. A non-zero UNARMED_DIVISOR means 1 unarmed attack plus an additonal 1/2 (not full) attack per every (value of UNARMED_DIVISOR) levels. Quote Link to comment
Mike1072 Posted August 11, 2013 Share Posted August 11, 2013 Opcode 319 is a new opcode used to restrict items to specific IDS values: Opcode #319 Usability Spell level set to 1 means only usable by Parameter #1: IDS Entry Parameter #2: IDS File Special: STRREF displayed in the item description. It also has a secondary use where it can be used to restrict items to a specific NPC--using the name STRREF in parameter1, death variable in the resource field, and parameter2 to 10. Does the "Special" parameter for opcode 319 refer to the field at 0x2c Avenger described as Param 2.5? Is the list of IDS files that can be referenced by this and other opcodes increased at all? Referencing kit.ids would be nice. 2 EA.ids3 General.ids 4 Race.ids 5 Class.ids 6 Specific.ids 7 Gender.ids 8 Align.ids To make sure I understand "Spell level set to 1 means only usable by", let's say there was an effect that specified Param2=7 (GENDER.IDS) and Param1=2 (FEMALE). With spell level set to 1, it would prevent non-female characters from using the item, but with spell level set to something else, it would prevent female characters from using it? Is there anything that could make an item usable by a kit but not its parent class? Quote Link to comment
Avenger Posted August 11, 2013 Share Posted August 11, 2013 Opcode 319 is a new opcode used to restrict items to specific IDS values: Opcode #319 Usability Spell level set to 1 means only usable by Parameter #1: IDS Entry Parameter #2: IDS File Special: STRREF displayed in the item description. It also has a secondary use where it can be used to restrict items to a specific NPC--using the name STRREF in parameter1, death variable in the resource field, and parameter2 to 10. Does the "Special" parameter for opcode 319 refer to the field at 0x2c Avenger described as Param 2.5? ... Yes, it is there so you don't have to make external eff files. Quote Link to comment
Wisp Posted August 19, 2013 Share Posted August 19, 2013 (edited) BGEE has that new flag on effects, bit 25 among the save-type flags, 'ignore difficulty' isn't it? Are there any more that I don't remember/is not aware of? Edited August 19, 2013 by Wisp Quote Link to comment
Avenger Posted August 20, 2013 Share Posted August 20, 2013 BGEE has that new flag on effects, bit 25 among the save-type flags, 'ignore difficulty' isn't it? Are there any more that I don't remember/is not aware of? I think the mirror image bit was also implemented. Quote Link to comment
Grammarsalad Posted August 23, 2013 Share Posted August 23, 2013 (edited) Would it be appropriate to put in a request? A class-specific (or better--kit-specific) hidespl would be very helpful for creating custom spell lists for arcane casters. Something like hpclass to refer to different 2da's would be excellent. Perhaps the default could be to refer to a single 2da for all classes but allowing modders to create alternate ones for specific kits or classes. I make this request having no idea how difficult this would be. Edited for clarity (hopefully) Edited August 23, 2013 by Grammarsalad Quote Link to comment
Galactygon Posted September 29, 2013 Share Posted September 29, 2013 Thanks for the summary Cam! -Galactygon Quote Link to comment
Avenger Posted September 29, 2013 Share Posted September 29, 2013 Opcode 319 is a new opcode used to restrict items to specific IDS values: Opcode #319 Usability Spell level set to 1 means only usable by Parameter #1: IDS Entry Parameter #2: IDS File Special: STRREF displayed in the item description. It also has a secondary use where it can be used to restrict items to a specific NPC--using the name STRREF in parameter1, death variable in the resource field, and parameter2 to 10. Does the "Special" parameter for opcode 319 refer to the field at 0x2c Avenger described as Param 2.5? Is the list of IDS files that can be referenced by this and other opcodes increased at all? Referencing kit.ids would be nice. 2 EA.ids3 General.ids 4 Race.ids 5 Class.ids 6 Specific.ids 7 Gender.ids 8 Align.ids To make sure I understand "Spell level set to 1 means only usable by", let's say there was an effect that specified Param2=7 (GENDER.IDS) and Param1=2 (FEMALE). With spell level set to 1, it would prevent non-female characters from using the item, but with spell level set to something else, it would prevent female characters from using it? Is there anything that could make an item usable by a kit but not its parent class? 9 - kit.ids (works with almost all ids targeting opcode, except protection from creature) Opcode 319 also works with name/scripting name. Quote Link to comment
Recommended Posts
Join the conversation
You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.