This would be great! A fortunate thing for this is that we could likely implement it rather painlessly without needing the overhead like many other proposals here of having a test server and doing a good amount of iteration on it to getting a workable solution (i.e. the TSM problem).Perle wrote: ↑Tue Nov 24, 2020 2:04 pmHorses
This suggestion is not intended to be a portable chest. It represents the weight a horse could carry in addition to yourself. I don't see any other players using horses besides Saaz and myself, and this would provide an incentive. You're carrying that heavy supply chest to another town? Horse could help you. That sort of thing.
THE Lists for the Masses-Hak Bug Fixes
Moderator: ALFA Administrators
Re: THE Lists for the Masses
People talk of bestial cruelty, but that's a great injustice and insult to the beasts; a beast can never be so cruel as man, so artistically cruel.
Re: THE Lists for the Masses
Re: Crafting
What could make DM lives easier? That is a question I feel players, programmers and all staff should be asking themselves. What allows DMs to tell more stories and reduces paperwork and annoyance?
However, I hear unspecified grousing/problems about crafting from the DM side. Reduce the steps required to oversee the crafter while maintaining control of server power creep. If we had more of an idea of what the problem is (Is it the math? Is it getting online to oversee the crafting?) then it will be easier to figure out how to solve the issue.
We don't have to allow crafting to be fully automated and devoid of any DM feedback. I actually think that's a bad idea. We should continue to have DMs regulate what items enter the world, at what power and at what pace.Ithildur wrote: ↑Tue Nov 24, 2020 3:49 pmI'm not really a big fan of gameplay becoming focused more around crafting, especially if it's a homebrewed system (the biggest turnoff for me about NWN1 Waterdeep server is it's so focused around a quirky homebrewed crafting system). It shifts the game closer to a MMO-like feel which has historically been the antithesis of ALFA's core elements and pillars.
What could make DM lives easier? That is a question I feel players, programmers and all staff should be asking themselves. What allows DMs to tell more stories and reduces paperwork and annoyance?
However, I hear unspecified grousing/problems about crafting from the DM side. Reduce the steps required to oversee the crafter while maintaining control of server power creep. If we had more of an idea of what the problem is (Is it the math? Is it getting online to oversee the crafting?) then it will be easier to figure out how to solve the issue.
- Ithildur
- Dungeon Master
- Posts: 3548
- Joined: Wed Oct 06, 2004 7:46 am
- Location: Best pizza town in the universe
- Contact:
Re: THE Lists for the Masses
I'd be in favor of making the DM involvement in crafting wonderous items/magic AA/etc streamlined and less painful.
1. if at all possible, fully automate the cost calculations during the 'project' stage so that DM doesn't have to worry about doing the math (though they can certainly choose to do so to double check if they wish). I'm not sure if this is already in place or not.
2. fully automate the project stage so DM involvement is completely optional
3. make DM involvement required only when the project stage is complete and the actual item is given to crafting PC
This is where DM/DM staff can do any last minute checkup if necessary/desired, and they can make note of what items are in circulation in live play, avoid surprises that might heavily impact gameplay ("Huh... didn't realize you guys had the coin to craft several Death Ward items and set of +4 stat items at lvl 7... we'll make note of this and may adjust encounters accordingly.")
4. Encourage crafting PC player to toolset the item itself (or use Saaz's item creation tool if it can be tweaked sufficiently to result in items that match alfa pricing).
1. if at all possible, fully automate the cost calculations during the 'project' stage so that DM doesn't have to worry about doing the math (though they can certainly choose to do so to double check if they wish). I'm not sure if this is already in place or not.
2. fully automate the project stage so DM involvement is completely optional
3. make DM involvement required only when the project stage is complete and the actual item is given to crafting PC
This is where DM/DM staff can do any last minute checkup if necessary/desired, and they can make note of what items are in circulation in live play, avoid surprises that might heavily impact gameplay ("Huh... didn't realize you guys had the coin to craft several Death Ward items and set of +4 stat items at lvl 7... we'll make note of this and may adjust encounters accordingly.")
4. Encourage crafting PC player to toolset the item itself (or use Saaz's item creation tool if it can be tweaked sufficiently to result in items that match alfa pricing).
Formerly: Aglaril Shaelara, Faerun's unlikeliest Bladesinger
Current main: Ky - something
It’s not the critic who counts...The credit belongs to the man who actually is in the arena, who strives violently, who errs and comes up short again and again...who if he wins, knows the triumph of high achievement, but who if he fails, fails while daring greatly.-T. Roosevelt
Current main: Ky - something
It’s not the critic who counts...The credit belongs to the man who actually is in the arena, who strives violently, who errs and comes up short again and again...who if he wins, knows the triumph of high achievement, but who if he fails, fails while daring greatly.-T. Roosevelt
Re: THE Lists for the Masses
Since I am a scripter, if I suggest something I've probably thought through how to do it and will have noted any significant difficulties.
Here's the horse script changes I propose:
// I copied the function in x2_inc_itemprop and modified it to prevent any exploits I can forsee, saved me a minute or so of coding time
void HorseCopyItemProperties(object oSource, object oTarget)
{
// GetItemPropActivation returns 0 if properties are active only when equipped, 1 or 2 is they would be active in inventory
if (!GetIsObjectValid(oSource) || GetItemPropActivation(oSource)) return;
itemproperty ip = GetFirstItemProperty(oSource);
int nSub;
while (GetIsItemPropertyValid(ip))
{
if (GetItemPropertyDurationType(ip) == DURATION_TYPE_PERMANENT)
{
if (GetItemPropertyType(ip) == ITEM_PROPERTY_CAST_SPELL)
{
nSub = GetItemPropertySubType(ip);
// filter out spell casting properties except unlimited to prevent exploit
if (nSub == IP_CONST_CASTSPELL_NUMUSES_UNLIMITED_USE)
{
AddItemProperty(DURATION_TYPE_PERMANENT,ip,oTarget);
}
}
else
{
AddItemProperty(DURATION_TYPE_PERMANENT,ip,oTarget);
}
}
ip = GetNextItemProperty(oSource);
}
}
// Insert this in the code somewhere before the cloak for the horse is equipped
// oPlayer is the player doing the mounting
// oHorseCloak is the cloak that is created for the horse graphic
object oPlayerCloak = GetItemInSlot(INVENTORY_SLOT_CLOAK, oPlayer); // find the currently equipped cloak, if any
// Insert this in the code after the cloak for the horse is created
HorseCopyItemProperties(oPlayerCloak, oHorseCloak);
// this should really be a blueprint modification instead
SetItemCursedFlag(oHorseCloak,TRUE);
// unless it's desired to have something other than a flat weight reduction, this should also be added to the blueprint instead
AddItemProperty(DURATION_TYPE_PERMANENT,ItemPropertyWeightIncrease(14),oHorseCloak); // 14 is -100.0 lbs
Here's the horse script changes I propose:
// I copied the function in x2_inc_itemprop and modified it to prevent any exploits I can forsee, saved me a minute or so of coding time
void HorseCopyItemProperties(object oSource, object oTarget)
{
// GetItemPropActivation returns 0 if properties are active only when equipped, 1 or 2 is they would be active in inventory
if (!GetIsObjectValid(oSource) || GetItemPropActivation(oSource)) return;
itemproperty ip = GetFirstItemProperty(oSource);
int nSub;
while (GetIsItemPropertyValid(ip))
{
if (GetItemPropertyDurationType(ip) == DURATION_TYPE_PERMANENT)
{
if (GetItemPropertyType(ip) == ITEM_PROPERTY_CAST_SPELL)
{
nSub = GetItemPropertySubType(ip);
// filter out spell casting properties except unlimited to prevent exploit
if (nSub == IP_CONST_CASTSPELL_NUMUSES_UNLIMITED_USE)
{
AddItemProperty(DURATION_TYPE_PERMANENT,ip,oTarget);
}
}
else
{
AddItemProperty(DURATION_TYPE_PERMANENT,ip,oTarget);
}
}
ip = GetNextItemProperty(oSource);
}
}
// Insert this in the code somewhere before the cloak for the horse is equipped
// oPlayer is the player doing the mounting
// oHorseCloak is the cloak that is created for the horse graphic
object oPlayerCloak = GetItemInSlot(INVENTORY_SLOT_CLOAK, oPlayer); // find the currently equipped cloak, if any
// Insert this in the code after the cloak for the horse is created
HorseCopyItemProperties(oPlayerCloak, oHorseCloak);
// this should really be a blueprint modification instead
SetItemCursedFlag(oHorseCloak,TRUE);
// unless it's desired to have something other than a flat weight reduction, this should also be added to the blueprint instead
AddItemProperty(DURATION_TYPE_PERMANENT,ItemPropertyWeightIncrease(14),oHorseCloak); // 14 is -100.0 lbs
Re: THE Lists for the Masses
To script crafting and regulate the entry of items into the world make items require a consumed crafting component that only DMs can create.
Re: THE Lists for the Masses
I didn't realize there was a bug on horse cloaks and logging in/out that allowed duplicating cloaks.
I always try to log out on the horse now, because if I don't the darn thing ends up missing when I log in after a servet reset. I've never experienced any cloak duplicating bugs.
I cursed the cloak because that prevents many exploits. I was thinking of someone selling the cloak at the time, I think they'd have to unequip it first, which destroys the cloak, but I wasn't positive.
Since it's a cursed cloak without any properties that are active unless equipped it's of rather limited exploit potential, but if it can be duplicated it could allow someone to generate a whole lot of negative weight.
It's usually a simple matter to fix any exploits. For extra horse cloaks there's a loop over inventory items already for finding horse ownership items. Since a PC should never have a horse cloak in their inventory unless it's about to be equipped it makes sense to add destroying any horse cloaks found in inventory to that loop. This would keep the horse functions all in one spot and if a PC had any cloaks they shouldn't they would vanish on login.
I always try to log out on the horse now, because if I don't the darn thing ends up missing when I log in after a servet reset. I've never experienced any cloak duplicating bugs.
I cursed the cloak because that prevents many exploits. I was thinking of someone selling the cloak at the time, I think they'd have to unequip it first, which destroys the cloak, but I wasn't positive.
Since it's a cursed cloak without any properties that are active unless equipped it's of rather limited exploit potential, but if it can be duplicated it could allow someone to generate a whole lot of negative weight.
It's usually a simple matter to fix any exploits. For extra horse cloaks there's a loop over inventory items already for finding horse ownership items. Since a PC should never have a horse cloak in their inventory unless it's about to be equipped it makes sense to add destroying any horse cloaks found in inventory to that loop. This would keep the horse functions all in one spot and if a PC had any cloaks they shouldn't they would vanish on login.
Re: THE Lists for the Masses
It probably gets left in the start area
Current NWN2 PC: TSM- Lessa
HDM of Moonshae Server
DM on BG
Builder Everywhere
DM times - 6:00-9 PM Saturdays PDT on BG. . other times as I show up
PM me on Discord if you want to be DMd on MS
I have Monday nights available for adhoc
Talk to me if you want to learn to build for NWN2
Tech Admin in charge of all the things
HDM of Moonshae Server
DM on BG
Builder Everywhere
DM times - 6:00-9 PM Saturdays PDT on BG. . other times as I show up
PM me on Discord if you want to be DMd on MS
I have Monday nights available for adhoc
Talk to me if you want to learn to build for NWN2
Tech Admin in charge of all the things
Re: THE Lists for the Masses
Fix evasion to not function unless wearing light or no armor. This is how it's supposed to be according to d20srd and the 3.5e source books.
This script function should work, I haven't tested it:
// Use this in spell scripts to get nDamage adjusted by oTarget's reflex and evasion saves.
// - nDamage
// - oTarget
// - nDC: Difficulty check
// - nSaveType: SAVING_THROW_TYPE_*
// - oSaveVersus
int GetFixedReflexAdjustedDamage(int nDamage, object oTarget, int nDC, int nSaveType=SAVING_THROW_TYPE_NONE, object oSaveVersus=OBJECT_SELF)
{
// determine evasion level
int nEvasion;
if (GetHasFeat(FEAT_IMPROVED_EVASION,oTarget)) nEvasion = 2;
else nEvasion = GetHasFeat(FEAT_EVASION,oTarget);
// evasion only works in light or no armor
if (nEvasion) if (GetArmorRank(GetItemInSlot(INVENTORY_SLOT_CHEST,oTarget)) > ARMOR_RANK_LIGHT) nEvasion = 0;
// do save check and return result based on evasion
switch (ReflexSave(oTarget, nDC, nSaveType, oSaveVersus))
{
case SAVING_THROW_CHECK_IMMUNE : return 0;
case SAVING_THROW_CHECK_FAILED : return (nEvasion == 2)?nDamage/2:nDamage; // improved evasion still takes half damage on a fail
case SAVING_THROW_CHECK_SUCCEEDED : return (nEvasion)?0:nDamage/2; // no damage for successful reflex save with evasion
}
return nDamage; // this line should never happen
}
All spell impact scripts should already be overwritten by custom scripts to use the ALFA precast spell code and such. If not this, as well as many other fixes, are not working and this should be addressed.
Add the above script to acr_spells_i.nss
Replace all instances of "GetReflexAdjustedDamage(" with "GetFixedReflexAdjustedDamage(" in every script in ALFA.
This script function should work, I haven't tested it:
// Use this in spell scripts to get nDamage adjusted by oTarget's reflex and evasion saves.
// - nDamage
// - oTarget
// - nDC: Difficulty check
// - nSaveType: SAVING_THROW_TYPE_*
// - oSaveVersus
int GetFixedReflexAdjustedDamage(int nDamage, object oTarget, int nDC, int nSaveType=SAVING_THROW_TYPE_NONE, object oSaveVersus=OBJECT_SELF)
{
// determine evasion level
int nEvasion;
if (GetHasFeat(FEAT_IMPROVED_EVASION,oTarget)) nEvasion = 2;
else nEvasion = GetHasFeat(FEAT_EVASION,oTarget);
// evasion only works in light or no armor
if (nEvasion) if (GetArmorRank(GetItemInSlot(INVENTORY_SLOT_CHEST,oTarget)) > ARMOR_RANK_LIGHT) nEvasion = 0;
// do save check and return result based on evasion
switch (ReflexSave(oTarget, nDC, nSaveType, oSaveVersus))
{
case SAVING_THROW_CHECK_IMMUNE : return 0;
case SAVING_THROW_CHECK_FAILED : return (nEvasion == 2)?nDamage/2:nDamage; // improved evasion still takes half damage on a fail
case SAVING_THROW_CHECK_SUCCEEDED : return (nEvasion)?0:nDamage/2; // no damage for successful reflex save with evasion
}
return nDamage; // this line should never happen
}
All spell impact scripts should already be overwritten by custom scripts to use the ALFA precast spell code and such. If not this, as well as many other fixes, are not working and this should be addressed.
Add the above script to acr_spells_i.nss
Replace all instances of "GetReflexAdjustedDamage(" with "GetFixedReflexAdjustedDamage(" in every script in ALFA.
Re: THE Lists for the Masses
Hello, I think it would be nice if bards have a repeatable performance quest. On nwn1 a bard can perform at certain bars, gain a little coin,gain a little xp and amass followers. After they amass a certain level of followers, they can then move to a higher level establishment and repeat the same thing. Currently it’s once daily in nwn1. It helps to keep the people playing a bard engaged and can be fun to perform.
Re: THE Lists for the Masses
There is already a repeatable bardic quest at select establishments its just different than served in NWN1erisa wrote: ↑Wed Jan 26, 2022 4:39 pmHello, I think it would be nice if bards have a repeatable performance quest. On nwn1 a bard can perform at certain bars, gain a little coin,gain a little xp and amass followers. After they amass a certain level of followers, they can then move to a higher level establishment and repeat the same thing. Currently it’s once daily in nwn1. It helps to keep the people playing a bard engaged and can be fun to perform.
we don't allow the massing of coin that NWN1 WD does especially for no danger,
NWN1 WD are no longer actually ALFA because they do not follow the pillars, charter and standards that ALFA NWN2 does.
Some places like the Elfsong would not have it because of cannon
Current NWN2 PC: TSM- Lessa
HDM of Moonshae Server
DM on BG
Builder Everywhere
DM times - 6:00-9 PM Saturdays PDT on BG. . other times as I show up
PM me on Discord if you want to be DMd on MS
I have Monday nights available for adhoc
Talk to me if you want to learn to build for NWN2
Tech Admin in charge of all the things
HDM of Moonshae Server
DM on BG
Builder Everywhere
DM times - 6:00-9 PM Saturdays PDT on BG. . other times as I show up
PM me on Discord if you want to be DMd on MS
I have Monday nights available for adhoc
Talk to me if you want to learn to build for NWN2
Tech Admin in charge of all the things
- ayergo
- Penguin AKA Vile Sea Tiger
- Posts: 3518
- Joined: Sun Jan 11, 2004 8:50 pm
- Location: Germany (But frequent world travels)
Re: THE Lists for the Masses
Just for the record,those perform scripts were always in there, I just modified the reward to be a bit more randomized and added different tiers of establishments.
There's a place I like to hide
A doorway that I run through in the night
Relax child, you were there
But only didn't realize and you were scared
It's a place where you will learn
To face your fears, retrace the years
And ride the whims of your mind
A doorway that I run through in the night
Relax child, you were there
But only didn't realize and you were scared
It's a place where you will learn
To face your fears, retrace the years
And ride the whims of your mind
- gribo
- Gelatinous Cube
- Posts: 345
- Joined: Sun Jun 13, 2004 7:37 pm
- Location: The frozen north
- Contact:
Re: THE Lists for the Masses-Hak Bug Fixes
Per Discord discussion:
Staff model #29 is a duplicate of staff model #9. #29 uses a bad model, with the pivot point not centered on the staff.
Staff model #30 - missing texture.
Staff model #29 is a duplicate of staff model #9. #29 uses a bad model, with the pivot point not centered on the staff.
Staff model #30 - missing texture.
Nuclear winter is coming
- gribo
- Gelatinous Cube
- Posts: 345
- Joined: Sun Jun 13, 2004 7:37 pm
- Location: The frozen north
- Contact:
Re: THE Lists for the Masses-Hak Bug Fixes
Guardian stave - This staff has no model.
Nuclear winter is coming
Re: THE Lists for the Masses-Hak Bug Fixes
FIXED
is this on a specific server?
Current NWN2 PC: TSM- Lessa
HDM of Moonshae Server
DM on BG
Builder Everywhere
DM times - 6:00-9 PM Saturdays PDT on BG. . other times as I show up
PM me on Discord if you want to be DMd on MS
I have Monday nights available for adhoc
Talk to me if you want to learn to build for NWN2
Tech Admin in charge of all the things
HDM of Moonshae Server
DM on BG
Builder Everywhere
DM times - 6:00-9 PM Saturdays PDT on BG. . other times as I show up
PM me on Discord if you want to be DMd on MS
I have Monday nights available for adhoc
Talk to me if you want to learn to build for NWN2
Tech Admin in charge of all the things