Jump to content

cmorgan

Gibberlings
  • Posts

    7,198
  • Joined

  • Last visited

Everything posted by cmorgan

  1. Version v5

    6,263 downloads

    This WeiDU mod alters the portraits of BG NPCs to be more like the portraits in BG2. View the Readme - English - French Visit the Forum Visit the Gallery
  2. Version v4

    4,819 downloads

    This collection of portraits for the player (not NPCs) is a collection of Plasmocat's favorites, many of which were commissioned for various mods and others which are just portraits she wanted to make from the photos of models she thought were interesting. View the Readme - English - French Visit the Forum Visit the Gallery
  3. Temporarily closed as I have deleted more than ten spammer posts from this thread... trying to slow the accumulated cruft.
  4. Useful Variables to Troubleshoot Not all of them, just a select few that are good places to start if something goes hinkey. General Interaction Variables To Watch Way too many and too specialized, but here are some that are possible hiccups (show up in more than a few places). "c-aranfriendbg2","GLOBAL" tracks Friend Talks outside of UnderDark "c-aranfriendud","GLOBAL" tracks Friend Talks inside Underdark "c-aranfriendtob","GLOBAL" tracks Friend Talks in ToB These two are set up for the many small "scenery" one-liners or short dialogs. !GlobalTimerNotExpired("c-aransmalltalk","GLOBAL") // Timer (game-time) has never been set or has expired Global("c-silencearan","GLOBAL",0) // a PID - set "silencer" for folks who hate unsolicited comments "c-arandrunk","GLOBAL" // in a vanilla inn or The Broken Sword, intoxication greater than 50. 3 talks. Blocking timers so that they can't go off too soon, so spread them out. Mature Content Variables "c-aranpcbedding","LOCALS" cycles from 0 through 7, advancing through 8 static sex scenes. It seems pretty hard to break. Heh. I had to tempt fate, didn't I. A small subset of replies where the PC gives up control and basically says "do what you want with me however you want to" cycles through these - there is no interactivity, only text painting. "c-arankisses","LOCALS" is designed to get a semi-random sequence to work out so that each time PC initiates a PID romantic encounter the approach is slightly different and the potential outcomes are more randomized. This one is the most likely to break down due to multiple IncrementGlobal() calls - chances are, I have pathways with multiple incrementation. "c-aranintimate","GLOBAL" is the incrementing tracking var set by activity ( updates "c-aransex" ). This means whenever a meaningful(/less) physical action occurs through dialog, it should list it out. This is set up so that if a player starts down a path but finds it is too heavy, the SetGlobal() will relect the final action. It also means that in randomized sequences, the activity is registered without resetting "reality" - otherwise, one talk could be wild sex, the next just kissing, and the game would think that PC and Aran just kissed. It should only be found in DO ~action~ "c-aransex","GLOBAL" is the regulating var to tell talks what physical status the relationship has taken. It matches the values 0-4 found in c-aranintimate: c-aransex = 0 : no intimacy c-aransex = 1 : kissing c-aransex = 2 : touching + kissing c-aransex = 3 : heavy innuendo touching ("petting") c-aransex = 4 : full physical intimacy It should never be found in DO ~action~, only in triggers, and is set via .bcs incrementation based on c-aranintimate. Like in real life, you can't take back an action, so short of console use or the specific troubleshooting "what do you think about our relationship" dialogs you can't take back that action... it does not de-increment. Flirting Variables to Watch "c-aranflirtstop","GLOBAL" should be toggled to halt unwanted flirts or re-enable them if the player changes their mind. "c-aranfight","GLOBAL" is toggled by Aran on sequences where he takes offense at something (chance is usually 20% if the encounter is messing with him badly). "c-aranearlyflirt","LOCALS" Flirt SubMenu: Lightweight, Early Flirts for Impatient Players found in PID. Using this 12 times moves you immediately forward, jump-starting regular lightweight flirts, where instead of being friendly he is a little more hands-on. Basically, if a female is showing herself very interested, what red-blooded dude would wait patiently to develop things more? If PC waits rather than throws herself in his direction, then after 3 Friend Talks, "c-aranpcflirtstart","GLOBAL" sets up flirting, as long as PC has not shut down any romance (and isn't showing either Gender=Male or Gender=Female while wearing belt05). After 24 flirts on this level by either PC- or NPC-initiation, this cycles to 2 and opens up the heavy flirts. GlobalGT("c-aranflirt","GLOBAL",40) If you pass the 40 flirt mark total, whether early, lightweight, or heavy, Aran will come calling and automatically advance to "c-aranrom","GLOBAL",2. Whether or not you sleep with him, delay him, etc., you have shown serious interest. Luckily, he isn't afraid of a little running around behind other folk's back, at least at first... Romance variables To Watch "c-aranrom","GLOBAL",1 = PC is female and has not told him via PID that she doesn't want romance or flirting. PID-initiated flirting with him should turn this back on. "c-aranrom","GLOBAL",2 = PC is female and has indicated interest, currently set by one of these: PID (after some conditions are met) - Simply tell him you are interested in having a relationship that is more than friendly. Lots of flirting with him via PID or NPC-initiated. Controllable by not flirting with him and telling him you don't want to have him come up to you and flirt. A rejoining option that indicates you want to be more than friends. Several branches in SoA LT 7, SoA LT8 NPC Management: relationship check chains in most dialog files, there for testing - perhaps to be left in place. ToB Summons from Fate Spirit, and all joining-rejoining dialogs in ToB (hard to tell ToB interactions with other NPCs as less attention is paid there for most NPCs). "c-aranrom","GLOBAL",3 = PC is not in a relationship with Aran. This is set by PID, and a very very few places in dialog. "c-aranbg2rom","GLOBAL" tracks LoveTalk progress in SoA "c-arantobrom","GLOBAL" tracks LoveTalk progress in ToB (when there are some; right now, there are none.
  5. confirmed "unfixable" as far as we know; manual edit with SK or NI or DLTCEP necessary.
  6. I tossed up a project page, accessible through the pinned index, and listed it on the downloads page, too. At some point, we'll G3-ize it.
  7. New version, English, French, German, and Italian translations in place. The package is distributed with WeiDU for Windows. Thank you to the international community for keeping this mod up to date! anishainpc_v1.5.rar
  8. http://forums.gibberlings3.net/index.php?showtopic=21873 http://forums.gibberlings3.net/index.php?s...st&p=181942 Unless BWL goes offline permanently (as defined by a period spanning months, not weeks) or registration as a visitor begins to require a fee, then the answer you will get at PPG, at SHS, and at G3 (and I am pretty sure at CoM) will be "we have one list, one maintainer". Evidence of the strong need for this can be found in the fact that the community hosting it does not always play nicely with others, yet we are all saying "this is Baronius' territory - he volunteered and took over the list". Please register your prefixes at BWL. It will help other modders avoid messing with your stuff accidentally.
  9. Hey - CamDawg in BG1NPC has been doing this, just FYI: /* Area Type Flagging */ /* ToSC only: Tutu and BGT */ ACTION_IF (FILE_EXISTS_IN_GAME ~FW1500.are~) OR (FILE_EXISTS_IN_GAME ~ARW500.are~) THEN BEGIN // if TotSC is installed COPY_EXISTING ~%IsleofBalduranN%.are~ ~override~ ~%IsleofBalduranS%.are~ ~override~ ~%DurlagsTower%.are~ ~override~ ~%Farmlands%.are~ ~override~ READ_BYTE "0x48" "flags" WRITE_BYTE "0x48" ("%flags%" BOR "0b00010001") BUT_ONLY_IF_IT_CHANGES END /* FOREST and OUTDOOR: Tutu and BGT */ COPY_EXISTING ~%FishingVillage%.are~ ~override~ ~%Peldvale%.are~ ~override~ ~%LionsWay%.are~ ~override~ ~%CoastWay%.are~ ~override~ ~%Larswood%.are~ ~override~ ~%ShipwrecksCoast%.are~ ~override~ ~%HighHedge%.are~ ~override~ ~%MutaminsGarden%.are~ ~override~ ~%Lighthouse%.are~ ~override~ ~%RedCanyons%.are~ ~override~ ~%SouthBeregostRoad%.are~ ~override~ ~%Ulcaster%.are~ ~override~ ~%ArchaeologicalSite%.are~ ~override~ ~%FishermansLake%.are~ ~override~ ~%NorthNashkelRoad%.are~ ~override~ ~%LonelyPeaks%.are~ ~override~ ~%FirewineBridge%.are~ ~override~ ~%BearRiver%.are~ ~override~ ~%ValleyoftheTombs%.are~ ~override~ ~%DryadFalls%.are~ ~override~ ~%FireLeafForest%.are~ ~override~ ~%GibberlingMountains%.are~ ~override~ READ_BYTE "0x48" "flags" WRITE_BYTE "0x48" ("%flags%" BOR "0b00010001") BUT_ONLY_IF_IT_CHANGES /* OUTDOOR ONLY: Tutu and BGT */ COPY_EXISTING ~%GnollStronghold%.are~ ~override~ ~%NashkelMines%.are~ ~override~ ~%FriendlyArmInn%.are~ ~override~ ~%Temple%.are~ ~override~ ~%NashkelCarnival%.are~ ~override~ READ_BYTE "0x48" "flags" WRITE_BYTE "0x48" ("%flags%" BOR "0b00000001") BUT_ONLY_IF_IT_CHANGES /* CITY and OUTDOOR */ COPY_EXISTING ~%WyrmsCrossing%.are~ ~override~ ~%Candlekeep_Ch6%.are~ ~override~ ~%Gullykin%.are~ ~override~ READ_BYTE "0x48" "flags" WRITE_BYTE "0x48" ("%flags%" BOR "0b00001001") BUT_ONLY_IF_IT_CHANGES This is just regular flagging of converted resources, but for future folks researching this it shows how to add the standard CITY, FOREST, OUTDOOR, and some combos.
  10. That sounds very reasonable - anyone looking for things to trigger in UD is going to need to be very specific anyways, as the look and behavior of the PC and NPCs needs to be very different. And thank you for saving other modders lots of time, work, and research. Not to mention frustration! If you are tweaking up the stuff, I would love C-AR01 C-AR02 C-AR03 (and you can drop the others from the list covering Aran Whiehand) - I am not expecting to have more than C-AR01, but it means easy "future proofing" for other projects. I am not expecting to add more than three inns to anything in my entire modding career
  11. Since the code is likely easily extendable (I assume by just adding the mod areas wanted to the .tpa, or by doing it inside ACTION_FOR_EACH var IN ~area1 area2 area3 area4~ BEGIN IF FILE_EXISTS_IN_GAME ~var~ THEN BEGIN PATCH_IF sourcesize_check_is_valid LPF ~mymod/lib/wisps_area_flags.tpa~ END END END) I think it would be fine to operate on a relatively conservative basis. If a modder wants to add the flag to their own area, no problem - for currently existing areas, though, especially for ones no longer updated, I say go for as wide open a definition as you can. I'd include Sardush, etc, - in fact, I'd rather make it wider in scope for general usefulness. If (for example) I have stuff written that is for an inn but would not work in certain areas, like Underdark, it would be simple to screen those non-conforming areas out with specific area checks., e.g. ~AreaType(FL_INN) !AreaCheck(%the_inn_in_fishing_for_trouble%) !Global("Chapter","GLOBAL",5)~ = works in every inn except one of the FFT areas and anything that calls itself an inn in Underdark, whether vanilla or mod-added. The modder adding their own area, like C-AR01, would enable my conversations in their area without further work on my part - but if it were Miloch's Druidic Retreat, I (or BWP when someone reports an impossible walk out along non-existant urban streets) would be responsible for closing it up the way i describe above. Heck, I could have said this shorter. All I am saying is that on the modder end, in this case, it is easier to exclude one area than juggle a list of 20 areas.
  12. Yep - should be clearer - "if you don't check the list of registered prefixes and the vanilla game resources naming, there will be suboptimal results"
  13. OK, contributor-types - I am ready for a spring cleanup of existing code in AW, and I'd like to incorporate this stuff. If I can summarize correctly, the proposal is Usage of standardized flagging, to be posted somewhere (and since Wisp is doing the heavy stuff, his prefix) FL_INN = this area is an urban hotel, rumor, drink, etc. place. Sample Usage: IF ~AreaType(FL_INN)~ THEN RESPOND ~Well, do you want to go get a drink, listen around, dance to the music, take a walk on the streets, or just turn in for the night?~ FL_STRONGHOLD = this area is a player-attained stronghold Sample Usage: IF ~AreaType(FL_STRONGHOLD)~ THEN RESPOND ~Nice little place you are running here, <CHARNAME>. The upkeep must be expensive.~ FL_TEMPLE = this area is a temple Sample Usage: IF ~AreaType(FL_TEMPLE)~ THEN RESPOND ~This place should have some cures available. Or we could just talk to the cleric with the funny hat over there.~ FL_SHOP = this area is a store or trading post Sample Usage: IF ~AreaType(FL_SHOP)~ THEN RESPOND ~Well, we could use some supplies. He won't let us drink or dance, and sleeping is out of question, but that set of bracers over there look pretty nice.~ FL_TAVERN Sample Usage: IF ~AreaType(FL_TAVERN)~ THEN RESPOND ~Well, do you want to go get a drink, listen around, dance to the music, or take a walk on the streets? We can't rent a bed here, more's the pity.~ I am strongly in favor of two of these being accepted as standard right now, and want to code them in: FL_INN would be useful for any place I want to spawn a barfight, walk in city streets via dialog, dance or flirt with alcohol and a place to go to bed and sleep (or most decidedly not sleep); anything that matches something like The Copper Coronet goes into this category for me. Mod-added areas in Fishing For Trouble and several other mods would fit this as well. FL_STRONGHOLD is useful to Wisp right away. The others I am not currently planning to use in dialog, so there is no push from me to lock them down, unless someone is already pushing content that needs it. Wisp, is the current code in this thread the same as what you are planning to use?
  14. ...and the master table is back up. An archive copy as been pinned at the top of this forum, but please note - the best and most efficient way of making sure mods don't mess with other mods and with vanilla game resources is to register a prefix at BWL. Having more than one 'official' registration site defeats the purpose of making sure unique prefixes are used/available. This thread is *not* the place to register prefixes - requests to do so will be cheerfully ignored
  15. Until the database table at BWL gets rebuilt, the WayBack Machine is your friend. Start with this link to an earlier version from the internet archives or phordicus' list, then if you can recheck against the thread at BWL to see if it is already noted - and go ahead and code things up with a placeholder you can do a mass find-replace later. Perhaps something that is unlikely to be in your text/code, like JJJ or XYZ. Unless your mod is ready for a general release to the world, prefix registration is something that is not particularly time-sensitive.
  16. I'm looking for specifically identifying inns for dialogs and scripts independently from CITY. I am not sure the best way to phrase it - Though as can be seen by the rest of A.W.'s threads, if you build it, I will try to find a way to use it... I expect for most scripting, there might be only a few breakdowns that could be combined to make much more specific checks. the ones I thought out were FL_RENTROOM // flags any area where you can rent a room to sleep (this is what I think you need, right, Wisp?) FL_STORE // flags any area that contains a store FL_INN // flags any area that is an inn FL_STRONGHOLD // flags any area that is a player stronghold FL_INSIDE // flags any area which constitutes an inside room, where area effect spells could destroy innocents But the more we create these divisions, the more we fill up. So FL_INN !FL_RENTROOM ends up catching the areas that you can visit and have a drink or such, but can't sleep FL_INN !FL_STRONGHOLD catches all (drink, rest or not) inns except the Bard stronghold ones CITY !FL_INN catches all the city outdoor things vanilla was shooting for OR(2) CITY FL_INN catches either inside or outside of an inn in a village or city OUTDOORS FL_INN would catch Miloch's Druid Resting Stop (hopefully with half-dryad half-nymph attendants) Bleh. Just brainstorming. At a minimum, I would love to be able to have something that matches what we were originally discussing, which is best described as CITY_INN - mod-added and vanilla inns where the character can leave and walk about nondescript village or city streets, visit a garden, dance, drink, and/or expect to end the thing with the movie that has the bed in it. proper inns in populated towns makes the most sense for being able to do this. From a scripting perspective, this means that instead of blocks something like OR(14) << constantly changing and adding with new mods; needs detailed multiple edits to update AreaCheck("AR0313") // Sea's Bounty AreaCheck("AR0406") // Copper Coronet AreaCheck("AR0509") // Five Flagons AreaCheck("AR0522") // Five Flagons (Stronghold) AreaCheck("AR0704") // Mithrest Inn AreaCheck("AR1105") // Umar Inn AreaCheck("AR1602") // The Vulgar Monkey AreaCheck("AR2010") // Vyatri's Pub, Trademeet AreaCheck("AR0709") // Den of the Seven Vales 1st Floor AreaCheck("AR0513") // Calbor's Inn at Bridge District 1st Floor AreaCheck("AR0021") // Crooked Crane 1st Floor AreaCheck("AR1602") // Brynnlaw's Inn AreaCheck("C-AR01") // The Broken Sword (Aran Whitehand) AreaCheck("MyNewInn") // Mod Added Inn with /* one universal check - to update all script in myMod to include a new reference, just add the flag to the new area when your mod is installed or in the "at end of install" mod, either Crossmod or your own standalone patch. */ AreaType(FL_INN) we don't need breakdowns of inns only in ToB, or only in BG/BGT/CA or even in Underdark, because #1 the areatype is added to the area, and #2 we can constrain by other existing variables - AreaType(FL_INN) GlobalGT("Chapter","GLOBAL",7) = ToB Inns AreaType(FL_INN) GlobalLT("ENDOFBG1","GLOBAL",2) = BG Inns in BGT etc. Since this stuff is very standard for romance talks and "drunk talks", it might help out some folks.
  17. Sweeet... though if FL actually stands for Floris, that should be said in a Dutch accent and accompanied by a picture of Rutger Hauer - preferably from Flesh + Blood
  18. areatype/flag/etc. OK, I understand... I am fine with any consistent cooperative label. We were starting with CD_, which is CamDawg's, but if we want something more generic, how about CITY_INN // inn areas of all types where a modder would expect to use the movie that shows the "rest in a bed" animation STRONGHOLD // strongholds areas SHOP // contains a store Wisp, does that cover what you need for your restrictions? It does let some quick and cool screening - AreaType(SHOP) !AreaType(CITY_INN) = all the independent store areas
  19. ADD_AREA_FLAG or ADD_AREA_TYPE ? Are we working with areaflag.ids or areatype.ids ? (And CamDawg, can we please use your prefix, because CD_ works very well... and looks phat. )
  20. Wisp, you are seriously heavy-duty. Way cool. c115.tpa makes me want to learn even more. As a side note, you may want to grab the inns information from Fishing For Trouble (Y's cool new lots-of-areas mod), and I will save you some editing: my indoor areas can match the ones you anticipated OK, so a check on this - ACTION_IF !FILE_CONTAINS_EVALUATED (~areaflag.ids~ ~CD_INN~) THEN BEGIN APPEND ~areaflag.ids~ ~512 CD_INN~ END /* Needs recheck an deletion on BG2 to separate out strongholds areas from actual inns, as this is entirely cribbed from Wisp */ ACTION_FOR_EACH area IN // almost all inns in BG2 and ToB content /*Bonehill:*/ bh0107 bh0120 bh0123 bh0115 bh2020 bh2024 /*Aran Whitehand:*/ "c-ar01" "c-inn0" "c-inn1" "c-inn2" "c-inn3" "c-inn4" /*TDD:*/ dd9x03 dd3334 dd3335 dd3302 dd1008 dd1008b dd0119 dd0118 arpo06 arpo07 /*RoT:*/ rr3117 rr3118 ra3901 rr3305 rr3312 rr3105 rr3104 ra5104 ra5105 /*Undying:*/ cm7000 cm7100 /*Aurora:*/ ag3801 ag1111 /*NTotSC*/ ar33pb /*ar4003/*(BG1)*/*/ /*BG2:*/ ar0021 ar0022 ar0313 ar0314 ar0406 ar0509 ar0510 ar0511 ar0513 ar0514 ar0515 ar0704 ar0709 ar0712 ar1105 ar1602 ar2010 ar2100 ar2202 ar2203 ar5003 ar5501 /*thief - counts as an inn, I think... */ar0321 ar0322 ar0323 ar0324 /*Soubar:*/ ar4264 ar4265 ar4266 ar4267 ar4268 ar4269 ar4272 ar4273 ar4274 ar4275 ar4276 ar4262 ar4263 /*CtB:*/ ar3651 ar3652 BEGIN ACTION_IF FILE_EXISTS_IN_GAME "%area%.are" BEGIN COPY_EXISTING "%area%.are" override PATCH_IF SOURCE_SIZE > 0x11b BEGIN READ_SHORT 0x48 ~innarea~ ACTION_MATCH ~innarea~ WITH 512 BEGIN PRINT ~%area% is already defined as an Inn~ END DEFAULT WRITE_SHORT 0x48 (THIS BOR 512) END END BUT_ONLY END END or is READ_SHORT the wrong read? And the trigger becomes AreaType(CD_INN) or AreaType(512) edit: Sorry - slow cross-posting on my part. I am happy any way the bigg, you, and CamDawg want to go. Flagging two things, WISP_STRONGHOLD and CD_INN could be useful, I bet.
  21. Wow - I had better go grab the latest aTweaks to see how you do that - If I match your values and do some quick "detect if it is already done", we could save that space for other folks; I really like the simplicity of having a standard "go to" identifier for everyone.
  22. Now THAT would be cool - and working up a configurable list is way easy. I am off to look at IESDP and that areaflag.ids; there are samples to contrast against yours in both Fixpack and BG1NPC. Very cool idea! If it doesn't turn out to be possible to do so this way, there is a blunt-force-trauma kind of way, based on a script implementation of this idea - set up an end-of-install thing like Crossmod or Aran_Aware that extends each areascript with in mymod/baf/indentify_all_inns.baf IF Global("cd_inn",MYAREA,0) THEN SetGlobal("cd_inn",MYAREA,1) Continue() END with a straightforward ACTION_FOR_EACH ~innscript~ IN ~ar~ BEGIN ACTION_IF FILE_EXISTS_IN_GAME ~%innscript%~ THEN BEGIN EXTEND_TOP ~%innscript%.bcs~ ~mymod/baf/indentify_all_inns.baf~ END END Or, wait - to make sure things haven't already been installed to do that... so decompile the area script, look for CD_INN, and ACTION_FOR_EACH ~innscript~ IN ~AR0021~ // Crooked Crane, 1st floor ~AR0313~ // Sea's Bounty, 1st floor ~AR0406~ // Copper Coronet ~AR0509~ // Five Flagons, 1st floor ~AR0513~ // Delosar's, 1st floor ~AR0522~ // Five Flagons, 1st floor (stronghold) ~AR0704~ // Mithrest Inn ~AR0709~ // Den of the Seven Vales ~AR1105~ // Imnesvale Inn ~AR1602~ // Vulgar Monkey ~AR2010~ // Trademeet Inn ~C-AR01~ // The broken Sword ~ModArea~ // other mod-added inn BEGIN ACTION_IF FILE_EXISTS_IN_GAME ~%innscript%~ THEN BEGIN ACTION_IF FILE_CONTAINS_EVALUATED(~%innscript%~ ~CD_INN~) THEN BEGIN PRINT ~%innscript% is already defined as an Inn~ END ELSE EXTEND_TOP ~%innscript%.bcs~ ~mymod/baf/indentify_all_inns.baf~ END END END And detection as Global("CD_INN",MYAREA,1)... that is, if MYAREA works the way I think it does. And F_C_E, for that matter.
×
×
  • Create New...