-
September 10th, 2019, 02:22 #1
Need some guidance - extension to change encounter window
So I'm wanting to make up an extension that changes how the level modification box on encounters works (namely, changing the values it adds, potentially based on role), and am wondering what area of the ruleset this is handled in so I can try figure it out. Does anyone know where to start?
Ongoing Campaigns:Zeitgeist Adventure Path|:|4e Tyranny of Dragons || Finished Campaigns:Tyranny of Dragons|:|Rage Of Demons
-
September 10th, 2019, 02:43 #2
I don't think the 4E ruleset does any auto calculation of encounter XP or level based off the creatures in the encounter window. I can't see any code in the ruleset that does this, and using the ruleset itself doesn't do any auto-calc.
So, are you saying you want to add in such functionality? In which case I recommend looking at the 5E or 3.5E rulesets - these have calculation buttons in the encounter window that perform various calculations on the encounter. For example, in 3.5E there are two buttons in campaign\record_encounter.xml (button_enc_refreshcr and button_enc_refreshxp) that trigger challenge rating and XP calculations for the encounter.Private Messages: My inbox is forever filling up with PMs. Please don't send me PMs unless they are actually private/personal messages. General FG questions should be asked in the forums - don't be afraid, the FG community don't bite and you're giving everyone the chance to respond and learn!
-
September 10th, 2019, 02:46 #3
I am referring to the box (pictured here at the end of the line to the left of the ID) that you can put in a value, and it adjusts the creatures level when added to the combat tracker. By default it adds 10hp, +1 ATK, +1 DEF, and +0.5 DMG (rounding down) per level. It also reduces by the same values if negative value there.
I'm wanting to make an extension that adjusts what those values are, and if possible, add a check that chooses the value based on the creatures type (skirmisher, controller, brute, lurker, artillery, soldier etc)
https://puu.sh/Efqcx/e25fe305bc.jpgOngoing Campaigns:Zeitgeist Adventure Path|:|4e Tyranny of Dragons || Finished Campaigns:Tyranny of Dragons|:|Rage Of Demons
-
September 10th, 2019, 02:55 #4
Ah, right - gotcha.
Have a look at the 4E ruleset, scripts\manager_combat2.lua - addNPC function - the nLevelAdj variable comes from that field. This function is ran when the NPC is added to the combat tracker.Private Messages: My inbox is forever filling up with PMs. Please don't send me PMs unless they are actually private/personal messages. General FG questions should be asked in the forums - don't be afraid, the FG community don't bite and you're giving everyone the chance to respond and learn!
-
September 10th, 2019, 03:23 #5
Alrighty, found what I need, just need to figure out how to make an extension now that changes it.
Thanks TrenloeOngoing Campaigns:Zeitgeist Adventure Path|:|4e Tyranny of Dragons || Finished Campaigns:Tyranny of Dragons|:|Rage Of Demons
-
September 10th, 2019, 03:37 #6
If you look at the top of the manager_combat2.lua script, you'll see that there is a command: CombatManager.setCustomAddNPC(addNPC);
This is a way that FG uses in key areas allowing layered rulesets (and extensions) to easily add in single functions to override the lower level code (base ruleset -> layered ruleset -> extension).
So, you can use this in your own extension to override the 4E addNPC script. Just copy out the addNPC code from the 4E ruleset into a script file in your extension, have an onInit function with CombatManager.setCustomAddNPC(addNPC); to override the 4E custom function with your own, and then customize addNPC as needed.
No worries.Private Messages: My inbox is forever filling up with PMs. Please don't send me PMs unless they are actually private/personal messages. General FG questions should be asked in the forums - don't be afraid, the FG community don't bite and you're giving everyone the chance to respond and learn!
-
September 10th, 2019, 05:06 #7
I think I broke it. Hahhaha
This is an experienceOngoing Campaigns:Zeitgeist Adventure Path|:|4e Tyranny of Dragons || Finished Campaigns:Tyranny of Dragons|:|Rage Of Demons
-
September 10th, 2019, 05:07 #8Private Messages: My inbox is forever filling up with PMs. Please don't send me PMs unless they are actually private/personal messages. General FG questions should be asked in the forums - don't be afraid, the FG community don't bite and you're giving everyone the chance to respond and learn!
-
September 10th, 2019, 05:15 #9
I've edited the manager_combat2.lua to have the correct values etc, and have made the extension call upon it (I think) but it hasnt adjusted anything in the actual ruleset. Do you perhaps have a moment for me to pick your brains on discord?
Ongoing Campaigns:Zeitgeist Adventure Path|:|4e Tyranny of Dragons || Finished Campaigns:Tyranny of Dragons|:|Rage Of Demons
-
September 10th, 2019, 05:42 #10
Sorry, I'm not really on Discord.
You don't modify the 4E manager_ combat.lua file - you leave that as is.
Extract the addNPC function from that file and put it in your own LUA file that you will have in your extension.
Then, in that LUA file, add an onInit() function that overrides the base addNPC function: CombatManager.setCustomAddNPC(addNPC);
Then load this script in your extension.xml file.
See the LUA file in the attached ZIP file - I've done this for you. Add this file to your extension, and load it with a <script> command in your extension.xml file.
Then make your custom changes to the addNPC function in this file. Don't touch any of the base 4E files.Private Messages: My inbox is forever filling up with PMs. Please don't send me PMs unless they are actually private/personal messages. General FG questions should be asked in the forums - don't be afraid, the FG community don't bite and you're giving everyone the chance to respond and learn!
Thread Information
Users Browsing this Thread
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks