User Tools

Site Tools


developers:mods

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
developers:mods [2015/02/26 20:02]
lynxlynxlynx [Hard]
developers:mods [2017/11/24 17:39] (current)
lynxlynxlynx [Medium] added race
Line 2: Line 2:
 Separated by difficulty/​time requirement. If you don't know how doable is your idea, just write it here and someone else will categorise it. Separated by difficulty/​time requirement. If you don't know how doable is your idea, just write it here and someone else will categorise it.
  
-The completed mods mentioned here can also be downloaded from [[https://​github.com/​lynxlynxlynx/​gemrb-mods|a central repository]].+The completed mods mentioned here can be downloaded from [[https://​github.com/​lynxlynxlynx/​gemrb-mods|a central repository]]. ​Check their individual pages for more information. 
 ===== Trivial ===== ===== Trivial =====
-These mods are just configuration tweaks or file drop-ins. A few game tweaks can be achieved by simply toggling variables in gemrb.ini ([[http://gemrb.git.sourceforge.net/git/gitweb.cgi?​p=gemrb/gemrb;a=blob;f=gemrb/​docs/​en/​gemrb_ini.txt;​h=d4189a4028afba8e5340c5778f1b7564dce03108;​hb=HEAD|check the note in the introduction]] to learn about the candidates).+These mods are just configuration tweaks or file drop-ins. A few game tweaks can be achieved by simply toggling variables in gemrb.ini ([[https://github.com/gemrb/gemrb/blob/master/gemrb/​docs/​en/​gemrb_ini.txt|check the note in the introduction]] to learn about the candidates).
  
 Some of the table editing can be more complex due to the data involved. For example, to add brand new spells to the wild surge table, one would also have to create them first, not just replace the existing entries. Some of the table editing can be more complex due to the data involved. For example, to add brand new spells to the wild surge table, one would also have to create them first, not just replace the existing entries.
Line 10: Line 11:
   * divine spellcaster classes with sorcerer style spellcasting -   * divine spellcaster classes with sorcerer style spellcasting -
     * just set the booktype to 3 in the gemrb clskills.2da (caveat: it will affect every npc with that class)     * just set the booktype to 3 in the gemrb clskills.2da (caveat: it will affect every npc with that class)
-  * [[mods:wisdom_xp_bonus|wisdom based xp bonus like in pst]] (done)+  * [[https://​github.com/​lynxlynxlynx/​gemrb-mods/​tree/​master/​wisdom-xp-mod|wisdom based xp bonus like in pst]] <wrap download>​done</​wrap>​
   * maximum hitpoint rolls in bg1   * maximum hitpoint rolls in bg1
-    * just add "​Maximum HP=1" to baldur.ini+    * just add "​Maximum HP=1" to gem-baldur.ini ​(baldur.ini((whatever the game uses)) if it doesn'​t exist yet)
   * different boni for weapon styles ​   * different boni for weapon styles ​
-    * just edit override/ws*.2da as you see fit+    * just edit unhardcoded/ws*.2da as you see fit
   * different wild surges   * different wild surges
-    * just edit override/​wildmag.2da+    * just edit unhardcoded/​wildmag.2da
       * replace spell resrefs with your own and/or add modifiers       * replace spell resrefs with your own and/or add modifiers
         * check Scriptable::​HandleHardcodedSurge to see how the extra modifiers work (+ and all the numbers)         * check Scriptable::​HandleHardcodedSurge to see how the extra modifiers work (+ and all the numbers)
   * spell icon sorting in the action bar   * spell icon sorting in the action bar
-    * just edit override/​shared/​spldisp.2da+    * just edit unhardcoded/​shared/​spldisp.2da
   * some small usability improvements   * some small usability improvements
     * set GUIEnhancements to 127 in the gemrb config (see the man page for details)     * set GUIEnhancements to 127 in the gemrb config (see the man page for details)
   * different damage and/or XP boni/mali for game difficulty levels ​   * different damage and/or XP boni/mali for game difficulty levels ​
-    * just edit override/​difflvls.2da as you see fit+    * just edit unhardcoded/​difflvls.2da as you see fit 
 +  * simplified "​concentration"​ ala ToBEx — just set SimplifiedDisruption=1 in gemrb.ini
   * autocast any memorized self-targetting spells on rest (stoneskin anyone?)   * autocast any memorized self-targetting spells on rest (stoneskin anyone?)
     * add their resref to splspec.2da and use a value of 8     * add their resref to splspec.2da and use a value of 8
 +  * game is not over if protagonist dies (only if the whole party does)
 +    * in gemrb/​GUIScripts/​bg*/​MessageWindow.py change protagonist mode from 1 to 2 (''​GemRB.GameSetProtagonistMode(2)''​)
  
 ===== Easy ===== ===== Easy =====
   * monk/​sorcerer kits: normal kit process for creation   * monk/​sorcerer kits: normal kit process for creation
     * barbarian kits are not possible, since they are fighter kits themselves     * barbarian kits are not possible, since they are fighter kits themselves
-  * [[mods:iwd2style_combatoutput|how/iwd2 style combat output in other games]] ​(done, clunky) +  * [[https://​github.com/​lynxlynxlynx/​gemrb-mods/​tree/​master/​better-combat-feedback|how/iwd2 style enhanced ​combat output in other games]] <wrap download>done</wrap>
-    * add the how/iwd2 combat and damage strings to dialog.tlk +
-    * add their strrefs to gemrb/​override/​<game>/strings.2da (DMG_* currently set as -1)+
   * different monk ac/apr progression   * different monk ac/apr progression
-    * just change ​gemrb/​override/​bg2/​monkbon.2da+    * just change ​unhardcoded/​bg2/​monkbon.2da
   * quickload button on the startup screen for the games that lack it   * quickload button on the startup screen for the games that lack it
     * edit start.chu to add the button     * edit start.chu to add the button
     * edit all the Start.py scripts to use it and make it quickload (see iwd2 for the code)     * edit all the Start.py scripts to use it and make it quickload (see iwd2 for the code)
   * different layout for the PST modron maze   * different layout for the PST modron maze
-    * change ​gemrb/​override/​pst/​easymaze.2da (or others when they become available)+    * change ​unhardcoded/​pst/​easymaze.2da (or others when they become available)
     * for more complications also change gemrb/​GUIScript/​pst/​Maze.py     * for more complications also change gemrb/​GUIScript/​pst/​Maze.py
   * new feats for iwd2   * new feats for iwd2
Line 47: Line 49:
       * if you want something more complex like Critical Strike, code changes will be needed, pushing this into the hard category       * if you want something more complex like Critical Strike, code changes will be needed, pushing this into the hard category
   * new formations:   * new formations:
-    * edit/​extend ​override/​*/​formatio.2da (the easiest way by modifying admin/​make_formation.py)+    * edit/​extend ​unhardcoded/​*/​formatio.2da (the easiest way by modifying admin/​make_formation.py)
   * spontaneous casting for other games or spellbook types (in iwd2 it works only for cleric spells, not even domain):   * spontaneous casting for other games or spellbook types (in iwd2 it works only for cleric spells, not even domain):
-    - in GUICommonWindows.py, function SpellShiftPressed:​ delete intro cleric type constraint +    - create a table like sponcast.2da (iwd2) with the target replacement spells 
-    - and decompose Type for GetSpellinfoSpells a few lines below (basically ​the function should get log2 of Type) +    - put its name in the SPONCAST column ​of unhardcoded/​*/​clsskills.2da for whichever class you want 
-    ​- (add sponcast.2da for new games)+  * more racial enemies in iwd2 
 +    ​* just extend unhardcoded/​iwd2/​haterace.2da (IDS column is from [[http://​gemrb.org/​iesdp/​files/​ids/​iwd2/​race.htm|race.ids]]) 
 +    * add new strings for name and description as necessary (column 1 and 3)
  
 ===== Medium ===== ===== Medium =====
 +  * a new race
 +    * add all the required text strings (races.2da)
 +    * decide which avatars will be (re)used and calculate the animation ids
 +    * decide which-if-any bonuses the race will grant (original 2das + dsrace.2da)
   * subraces in bg2   * subraces in bg2
     * write a new guiscript with a borrowed window pack from the kit selection     * write a new guiscript with a borrowed window pack from the kit selection
     * add subrace boni/mali     * add subrace boni/mali
   * new multi/dual class choices   * new multi/dual class choices
-    * [[https://​github.com/​lynxlynxlynx/​gemrb-mods/​tree/​master/​sorcerer-monk|sorcerer/​monk]] ​(multiclass ​mostly ​done) +    * [[https://​github.com/​lynxlynxlynx/​gemrb-mods/​tree/​master/​sorcerer-monk|sorcerer/​monk]] ​<wrap download>​multiclass done</​wrap><​wrap todo>​dualclass TODO</​wrap>​ 
-    * [[https://​github.com/​lynxlynxlynx/​gemrb-mods/​tree/​master/​sorcerer-monk-cleric|sorcerer/​monk/​cleric]] ​(multiclass ​mostly ​done)+    * [[https://​github.com/​lynxlynxlynx/​gemrb-mods/​tree/​master/​sorcerer-monk-cleric|sorcerer/​monk/​cleric]] ​ <​wrap download>​multiclass done</​wrap><​wrap todo>​dualclass TODO</​wrap>​
     * update a bunch of tables in the gemrb and game overrides (classes.2da and clskills.2da being the most important)     * update a bunch of tables in the gemrb and game overrides (classes.2da and clskills.2da being the most important)
       * the MULTI column can be computed with this formula: 1<<​(ID1-1)|1<<​(ID2-1)|1<<​(ID3-1) (where the ids are the singleclass values in the ID column)       * the MULTI column can be computed with this formula: 1<<​(ID1-1)|1<<​(ID2-1)|1<<​(ID3-1) (where the ids are the singleclass values in the ID column)
Line 72: Line 80:
   * character name generator   * character name generator
     * the only reason this is under medium and not easy is the fact that you have to create a long list of possible names or words and combination rules     * the only reason this is under medium and not easy is the fact that you have to create a long list of possible names or words and combination rules
 +  * Limit the number of attacks based on the Weapon'​s Speed Factor. A combat round is split into 10 segments. When a weapon has a SF of 7, supposedly you need a time of 7/10 of a round in order to swing it because it is heavy. How is it possible to swing it 4 times in that time ? I would love to limit the APR based on the weapon'​s SF. That way, you need a weapon with a SF <= 5 in order to have 2 APR, a SF <= 3 to have 3APR, etc.
 +    * check balance, warrior APR bonus and spell effect interference
  
 ===== Hard ===== ===== Hard =====
-  * 10 player parties (//​[[http://​gibberlings3.net/​forums/​index.php?​showtopic=27138|in progress]]//​) +  * **[[https://​github.com/​lynxlynxlynx/​gemrb-mods/​tree/master/10pp|10 player parties]]** <wrap download>​done</​wrap>​
-    ​fix the game scripts, which [[http://​gibberlings3.net/​forums/​index.php?​showtopic=21188&​view=findpost&​p=175810|WeiDU could do if improved]], but roughly: +
-      * **see 10pp in this repo (work in progress)**: ​https://​github.com/​lynxlynxlynx/​gemrb-mods +
-      * all the trigger blocks checking Player6 should be copied at the end of the current block and changed to PlayerX (also its actions) +
-        * unless all players are checked and just an addition trigger needs to be added +
-      * all other actions involving Player6 should be copied to do the same on PlayerX +
-        * but of course not if whole blocks were copied above +
-      * same for Player#​Fill +
-    * //the game gui is already ready for this change, you just need a big enough resolution/+
-    ​change MaxPartySize in your config+
   * making infravision useful - decrease the visual and other ranges in the dark   * making infravision useful - decrease the visual and other ranges in the dark
     * this one would require engine and possibly ingame script changes     * this one would require engine and possibly ingame script changes
developers/mods.1424980929.txt.gz · Last modified: 2015/02/26 20:02 by lynxlynxlynx