Grammarsalad Posted July 31, 2017 Share Posted July 31, 2017 (edited) I think that this is the right place to request this. Even if so, I'm fairly certain that this request isn't even possible, but I'll ask anyway: IWD2: fix the improved initiative feat. Edited July 31, 2017 by Grammarsalad Quote Link to comment
khelban12 Posted July 31, 2017 Share Posted July 31, 2017 I've lost the code long ago, though it's possible to remake. Sorry to hear that. Inspired by your post, i had coded my own version. It works for me but it is a very basic/stupid implementation with many quirks. It is not fit for general use but in case anyone is interested, it is the following: EXTEND_TOP_REGEXP ~\(c\|g\)tar.*\.bcs~ ~baf/traps.baf~ EXTEND_TOP_REGEXP ~\(c\|g\)t\(as\|ck\|cl\|con\).*\.bcs~ ~baf/traps.baf~ EXTEND_TOP_REGEXP ~\(c\|g\)t\(corb\|dc\|fb\|fr\).*\.bcs~ ~baf/traps.baf~ EXTEND_TOP_REGEXP ~\(c\|g\)t\(fs\|hp\|lb\|mm\).*\.bcs~ ~baf/traps.baf~ EXTEND_TOP_REGEXP ~\(c\|g\)t\(ms\|pm\|sc\|si\).*\.bcs~ ~baf/traps.baf~ EXTEND_TOP_REGEXP ~\(c\|g\)t\(werewo\|gw\|mis\).*\.bcs~ ~baf/traps.baf~ EXTEND_TOP_REGEXP ~\(c\|g\)t\(spid\|spike\|st\).*\.bcs~ ~baf/traps.baf~ EXTEND_TOP_REGEXP ~\(c\|g\)t\(ts\|web\).*\.bcs~ ~baf/traps.baf~ EXTEND_TOP_REGEXP ~gt[0-9].*\.bcs~ ~baf/traps.baf~ EXTEND_TOP ~gdarts.bcs~ ~baf/traps.baf~ EXTEND_TOP ~gslime.bcs~ ~baf/traps.baf~ EXTEND_TOP ~gspear.bcs~ ~baf/traps.baf~ EXTEND_TOP ~gvent.bcs~ ~baf/traps.baf~ It modifies all the trap scripts to include the following code. IF OnCreation() THEN RESPONSE #100 StartTimer (101, 1) Continue() END IF LOS([GOODCUTOFF],15) TimerExpired(101) THEN RESPONSE #100 DisplayString(Myself,16488) StartTimer (101, 18) Continue() END It uses a timer to print the message trap found every 18 seconds. It doesn't mention what kind of trap it is like Ardanis's implementation and it keeps printing the message even after the trap is disarmed. Initially i had a "better" implementation but i couldn't make it work. It was something like the following: IF Disarmed([ANYONE]) THEN RESPONSE #100 SetGlobal("vt#disarmed", "LOCALS", 1) Continue() END IF LOS([GOODCUTOFF],15) !Global("vt#disarmed", "LOCALS", 1) !GlobalTimerNotExpired("vt#traptimer", "LOCALS") THEN RESPONSE #100 DisplayString(Myself,16488) SetGlobalTimer("vt#traptimer", "LOCALS", 12) Continue() END I tried many variations but either the message would only be displayed once or it would be constantly printed all the time. I think i read somewhere that the problem was that "LOCAL" variables only work on character scripts and not trap scripts or something like that. So, i changed it to use simple timers and left it at that. Since i was the only user, i could live with the sub-par implementation that prints the message even after disarming. Quote Link to comment
Ardanis Posted July 31, 2017 Share Posted July 31, 2017 (edited) My version was like: Preliminary: - Scan all official areas for triggers, doors and containers that are trapped & detectable & have difficulty !=100. - Manually review all the scripts on the obtained list and write appropriate "trap type is X" new string for each script. A few will need to be excluded, because even while they're set up as traps and detected as such by the check routine, they still aren't a trap. - Now you have a list of trap scripts and a list of detected type strings, match them up via associative array or something. Prepare the script extension (top): IF Range([PC],15) !GlobalTimerNotExpired("%script_name%","myarea") Global("%script_name%_detected","myarea",0) Global("%script_name%_disarmed","myarea",0) THEN RESPONSE #100 SetGlobalTimer("%script_name%","myarea",6) DisplayStringHead(Myself,~Trap Detected~) END IF Range([PC],15) !GlobalTimerNotExpired("%script_name%","myarea") Global("%script_name%_detected","myarea",1) Global("%script_name%_disarmed","myarea",0) THEN RESPONSE #100 SetGlobalTimer("%script_name%","myarea",6) DisplayStringHead(Myself,~trap_type_string_that_matches_the_scriptname~) END IF Detected() Global("%script_name%_detected","myarea",0) Global("%script_name%_disarmed","myarea",0) THEN RESPONSE #100 SetGlobal("%script_name%_detected","myarea",1) SetGlobalTimer("%script_name%","myarea",6) DisplayStringHead(Myself,~trap_type_string_that_matches_the_scriptname~) END IF Disarmed() Global("%script_name%_disarmed","myarea",0) THEN RESPONSE #100 SetGlobal("%script_name%_disarmed","myarea",1) END IF OR() Entered() Opened() AndProbablyThereWasAnotherTrigger() THEN RESPONSE #100 SetGlobal("%script_name%_disarmed","myarea",1) Continue() END IF Reset() THEN RESPONSE #100 SetGlobal("%script_name%_disarmed","myarea",0) Continue() ENDI think it was kinda like that... Forgot if Continue()'s are correct, better test it. Area patching: - Scan all areas for the scripts on the list. There will be multiple instances of the same script used in different trigger regions. For each duplicate copy the original script under unique new name, extend it and eval (those %script_name% vars), and write new script entry into the trigger. - Keep a track of each trap type's max number of duplicates in a single area (I used arrays), so that if you run into another area with duplicates of that type then you can just use existing copies of the trap script created for previously processed areas. Edited July 31, 2017 by Ardanis Quote Link to comment
Almateria Posted July 31, 2017 Share Posted July 31, 2017 (edited) I think that this is the right place to request this. Even if so, I'm fairly certain that this request isn't even possible, but I'll ask anyway: IWD2: fix the improved initiative feat. I tried that for the Fixpack a few years ago lmfao. Not possible to do. Feats are hardcoded. e: I mean technically you can by drilling in external .dlls in the .exe but that's, like, level 5 coding, requires other programs running, and not an easy elegant solution. Edited July 31, 2017 by Almateria Quote Link to comment
Grunker Posted July 31, 2017 Share Posted July 31, 2017 Apologies if this is already implemented, but a feature of Level1NPC is easing weapon restrictions for some classes - for instance allowing your Archer/Cleric (courtesy of Tweak Anthology) to use bows. Could be made an optional component of the Loosen Item Restrictions component already in the anthology. Quote Link to comment
CamDawg Posted July 31, 2017 Author Share Posted July 31, 2017 (edited) Thanks for the suggestions everyone, keep 'em coming. Quick comment for... Apologies if this is already implemented, but a feature of Level1NPC is easing weapon restrictions for some classes - for instance allowing your Archer/Cleric (courtesy of Tweak Anthology) to use bows. Could be made an optional component of the Loosen Item Restrictions component already in the anthology. I think this should be covered already by the loosen equipment restrictions for cleric multis. Despite the name of the component a fighter-cleric via dual or multiclass uses the same bits for usability, so the changes here also apply to dual-classes. It's a pretty simple formula--if an item is usable by fighters, it's made available to fighter-clerics and fighter-mage-clerics; items for thieves to cleric-thieves; items for mages for cleric-mages and fighter-mage-clerics; and items for rangers for cleric-rangers. The weapon proficiency table is also updated to allow pips in the same categories, e.g. mage-clerics can place a pip in daggers. edit: Oh, I don't think I read completely--you mean beyond just the cleric stuff. Edited July 31, 2017 by CamDawg Quote Link to comment
c4_angel Posted August 1, 2017 Share Posted August 1, 2017 Thanks for the suggestions everyone, keep 'em coming. Quick comment for... Apologies if this is already implemented, but a feature of Level1NPC is easing weapon restrictions for some classes - for instance allowing your Archer/Cleric (courtesy of Tweak Anthology) to use bows. Could be made an optional component of the Loosen Item Restrictions component already in the anthology. I think this should be covered already by the loosen equipment restrictions for cleric multis. Despite the name of the component a fighter-cleric via dual or multiclass uses the same bits for usability, so the changes here also apply to dual-classes. It's a pretty simple formula--if an item is usable by fighters, it's made available to fighter-clerics and fighter-mage-clerics; items for thieves to cleric-thieves; items for mages for cleric-mages and fighter-mage-clerics; and items for rangers for cleric-rangers. The weapon proficiency table is also updated to allow pips in the same categories, e.g. mage-clerics can place a pip in daggers. edit: Oh, I don't think I read completely--you mean beyond just the cleric stuff. As Level1NPC mentioned, is it possible to include the whole mod(the NPC adjustment part) into tweaks? Quote Link to comment
Sam. Posted August 2, 2017 Share Posted August 2, 2017 Expand container "Items purchased" list. Below are some suggestions from my EET game: Bag of Holding can store all items (except Containers (36), and perhaps Familiars (38)). [Example being MISC61.ITM (Bandit Scalp) in my game which has a category of Tattoos (39) which can't be stored in a bag of holding.] Ammo Belt can store (throwing) Daggers (16) Ammo Belt can store (throwing) Axes (25) Scroll Case can store Notes (50) Potion Case can store Bottles (56) Quote Link to comment
Grunker Posted August 2, 2017 Share Posted August 2, 2017 (edited) Thanks for the suggestions everyone, keep 'em coming. Quick comment for... Apologies if this is already implemented, but a feature of Level1NPC is easing weapon restrictions for some classes - for instance allowing your Archer/Cleric (courtesy of Tweak Anthology) to use bows. Could be made an optional component of the Loosen Item Restrictions component already in the anthology. I think this should be covered already by the loosen equipment restrictions for cleric multis. Despite the name of the component a fighter-cleric via dual or multiclass uses the same bits for usability, so the changes here also apply to dual-classes. It's a pretty simple formula--if an item is usable by fighters, it's made available to fighter-clerics and fighter-mage-clerics; items for thieves to cleric-thieves; items for mages for cleric-mages and fighter-mage-clerics; and items for rangers for cleric-rangers. The weapon proficiency table is also updated to allow pips in the same categories, e.g. mage-clerics can place a pip in daggers. edit: Oh, I don't think I read completely--you mean beyond just the cleric stuff. Exactly! Sorry for the lack of clarity Thanks for the suggestions everyone, keep 'em coming. Quick comment for... Apologies if this is already implemented, but a feature of Level1NPC is easing weapon restrictions for some classes - for instance allowing your Archer/Cleric (courtesy of Tweak Anthology) to use bows. Could be made an optional component of the Loosen Item Restrictions component already in the anthology. I think this should be covered already by the loosen equipment restrictions for cleric multis. Despite the name of the component a fighter-cleric via dual or multiclass uses the same bits for usability, so the changes here also apply to dual-classes. It's a pretty simple formula--if an item is usable by fighters, it's made available to fighter-clerics and fighter-mage-clerics; items for thieves to cleric-thieves; items for mages for cleric-mages and fighter-mage-clerics; and items for rangers for cleric-rangers. The weapon proficiency table is also updated to allow pips in the same categories, e.g. mage-clerics can place a pip in daggers. edit: Oh, I don't think I read completely--you mean beyond just the cleric stuff. As Level1NPC mentioned, is it possible to include the whole mod(the NPC adjustment part) into tweaks? This would be awesome! but since the Level1NPC mod itself isn't even EET + SoD compatible yet, it's not as easy as it may sound and may not even be appropriate at all for the Tweak pack considering its massive scope. CrevsDaak recently updated the mod to have basic EE compatability, but as I understand it, the extended functionality of Level One NPC (and the reason it is so impressive feature-wise compared to all other mods that have similarities) is that it actually edits each NPC individually instead of going at them with a general approach. So to make it EET compatible you wouldn't just have to update a core package but would actually do coding for all SoD NPCs etc.? At least that's what I gathered from the thread in the L1NPC forums. So until someone updates the mod itself or decides to do the work needed for the tweak pack here, it's unlikely to occur. No question that I would give major kudos to anyone doing that though, it's just about my favourite mod! That just doesn't mean it's appropriate for this context. Edited August 2, 2017 by Grunker Quote Link to comment
AL|EN Posted August 2, 2017 Share Posted August 2, 2017 Hold you horses, level1npc is huge mod and it should stay as external mod because of the support for other mod npc's. Quote Link to comment
Jarno Mikkola Posted August 2, 2017 Share Posted August 2, 2017 (edited) And there's the other factors like having to insert 10 to 1200 other inserts during install, which is not practical for a tweaks mods that generally uses component numbers to do most choices. One could try to incorporate the NPC Kit tweaks into the CD_Tweaks, but NOT Level 1 NPCs, as the former is the laters very "light version". Now of course the CD_Tweaks can also adopt the other non NPC specific components from Level 1 NPC mod, as they also come with their own components, unlike the NPC specific where the choices don't have component numbers. Edited August 2, 2017 by Jarno Mikkola Quote Link to comment
subtledoctor Posted August 2, 2017 Share Posted August 2, 2017 What's the point of taking a whole mod and shoving into another mod? (I mean there might be s finecreaaon to do that in some cases, but there should be a reason in each case. Not to mention, Tweaks and Level1NPCs have very different places in the install order, so combining them makes little sense...) Quote Link to comment
Grunker Posted August 2, 2017 Share Posted August 2, 2017 (edited) FTR, I agree, that's why I wrote may not even be appropriate at all for the Tweak pack considering its massive scope I think L1NPC-style edits might be appropriate for the Anthology if they were less involved, but considering the scope of the coding and the many choices you have to make in the WeiDU interface as a user to truly edit NPCs from the bottom up in L1NPC it doesn't seem like it would be appropriate for tweaks. Edited August 2, 2017 by Grunker Quote Link to comment
Jarno Mikkola Posted August 2, 2017 Share Posted August 2, 2017 What's the point of taking a whole mod and shoving into another mod? Well, there's plenty of reasons, as the mod can be seen a combination of multiple mods, and for multiple games... You know, the "Ease of Use" mod, the Bigg Tweaks, pro5's tweaks, the PST tweaks, BG1 Tweaks, AoE ? Why have multiple when you could use one... and thus have a clear choice of options, and have them all with same like rules for all the sets of rules. Aka if the level limit is 50, then the kit tables don't stop(default to -1) at level 41. ... Quote Link to comment
CamDawg Posted August 2, 2017 Author Share Posted August 2, 2017 Yeah, Tweaks will not be taking on Level 1 NPCs--it's a good, stand-alone mod and will remain that way. 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.