forums wiki bugs items changes map login play now

Change empower duration from 26 hours to permanent.

Simple suggestion, which is more quality of life than anything else. 

Below is the snippet change, duration from 26 to -1. skills3.c L2373

void do_empower(CHAR_DATA *ch, char *argument)
{
 char arg[MIL];
 AFFECT_DATA af, *paf;
 int times = 100;
 if (ch->class != class_lookup("monk"))
 {
 send_to_char("Huh?\n\r",ch);
 return;
 }
 for ( paf = ch->affected; paf != NULL; paf = paf->next )
 if (paf->type == gsn_offensive || paf->type == gsn_defensive)
 {
 times = 26 - paf->duration;
 break;
 }
 if ((is_affected(ch,gsn_empower) || times 8) && !IS_IMMORTAL(ch))
 {
 send_to_char("You are not ready to empower another ability yet.\n\r",ch);
 return;
 }
 if (argument[0] == '\0')
 {
 send_to_char("What do you want to empower?\n\r",ch);
 return;
 }
 argument = one_argument(argument,arg);
 if (!str_prefix(arg, "offense"))
 {
 if (is_affected(ch,gsn_offensive))
 {
 send_to_char("You are still under offensive empowerment.\n\r",ch);
 return;
 }
 if (is_affected(ch,gsn_defensive))
 affect_strip(ch,gsn_defensive);
 if (is_affected(ch,gsn_sneak))
 affect_strip(ch,gsn_sneak);
 if (is_affected(ch,gsn_horse))
 affect_strip(ch,gsn_horse);
 if (is_affected(ch,gsn_buddha))
 affect_strip(ch,gsn_buddha);
 if (is_affected(ch,gsn_mantis))
 affect_strip(ch,gsn_mantis);
 if (is_affected(ch,gsn_drunken))
 affect_strip(ch,gsn_drunken);
 if (is_affected(ch,gsn_aura))
 affect_strip(ch,gsn_aura);
 af.where = TO_AFFECTS;
 af.type = gsn_offensive;
 af.level = ch->level;
 af.duration = 26;
 af.modifier = 0;
 af.location = 0;
 af.bitvector = 0;
 affect_to_char(ch,&af);
 act("You begin empowering your offensive skills.",ch,NULL,NULL,TO_CHAR);
 act("$n starts emitting a red battle aura.",ch,NULL,NULL,TO_ROOM);
 }
 else if (!str_prefix(arg, "defense"))
 {
 if (is_affected(ch,gsn_defensive))
 {
 send_to_char("You are still under defensive empowerment.\n\r",ch);
 return;
 }
 if (is_affected(ch,gsn_offensive))
 affect_strip(ch,gsn_offensive);
 if (is_affected(ch,gsn_monkey))
 affect_strip(ch,gsn_monkey);
 if (is_affected(ch,gsn_dragon))
 affect_strip(ch,gsn_dragon);
 if (is_affected(ch,gsn_tiger))
 affect_strip(ch,gsn_tiger);
 if (is_affected(ch,gsn_crane))
 affect_strip(ch,gsn_crane);
 if (is_affected(ch,gsn_chii_bolt))
 affect_strip(ch,gsn_chii_bolt);
 af.where = TO_AFFECTS;
 af.type = gsn_defensive;
 af.level = ch->level;
 af.duration = 26;
 af.modifier = 0;
 af.location = 0;
 af.bitvector = 0;
 affect_to_char(ch,&af);
 act("You begin empowering your defensive skills.",ch,NULL,NULL,TO_CHAR);
 act("$n starts emitting a blue peaceful aura.",ch,NULL,NULL,TO_ROOM);
 }
 else
 {
 send_to_char("You can't empower that.\n\r",ch);
 return;
 }
 if (!IS_IMMORTAL(ch))
 {
 af.where = TO_AFFECTS;
 af.type = gsn_empower;
 af.level = ch->level;
 af.duration = 1;
 af.modifier = 0;
 af.location = 0;
 af.bitvector = 0;
 affect_to_char(ch,&af);
 }
}
void do_empower(CHAR_DATA *ch, char *argument)
{
 char arg[MIL];
 AFFECT_DATA af, *paf;
 int times = 100;
 if (ch->class != class_lookup("monk"))
 {
 send_to_char("Huh?\n\r",ch);
 return;
 }
 // for ( paf = ch->affected; paf != NULL; paf = paf->next )
 // if (paf->type == gsn_offensive || paf->type == gsn_defensive)
 //{
 // times = 26 - paf->duration;
 // break;
 //}
 // if ((is_affected(ch,gsn_empower) || times 
 // {
 //send_to_char("You are not ready to empower another ability yet.\n\r",ch);
 //return;
 // }
 if (argument[0] == '\0')
 {
 send_to_char("What do you want to empower?\n\r",ch);
 return;
 }
 argument = one_argument(argument,arg);
 if (!str_prefix(arg, "offense"))
 {
 if (is_affected(ch,gsn_offensive))
 {
 send_to_char("You are still under offensive empowerment.\n\r",ch);
 return;
 }
 if (is_affected(ch,gsn_defensive))
 affect_strip(ch,gsn_defensive);
 if (is_affected(ch,gsn_sneak))
 affect_strip(ch,gsn_sneak);
 if (is_affected(ch,gsn_horse))
 affect_strip(ch,gsn_horse);
 if (is_affected(ch,gsn_buddha))
 affect_strip(ch,gsn_buddha);
 if (is_affected(ch,gsn_mantis))
 affect_strip(ch,gsn_mantis);
 if (is_affected(ch,gsn_drunken))
 affect_strip(ch,gsn_drunken);
 if (is_affected(ch,gsn_aura))
 affect_strip(ch,gsn_aura);
 af.where = TO_AFFECTS;
 af.type = gsn_offensive;
 af.level = ch->level;
 af.duration = -1;
 af.modifier = 0;
 af.location = 0;
 af.bitvector = 0;
 affect_to_char(ch,&af);
 act("You begin empowering your offensive skills.",ch,NULL,NULL,TO_CHAR);
 act("$n starts emitting a red battle aura.",ch,NULL,NULL,TO_ROOM);
 }
 else if (!str_prefix(arg, "defense"))
 {
 if (is_affected(ch,gsn_defensive))
 {
 send_to_char("You are still under defensive empowerment.\n\r",ch);
 return;
 }
 if (is_affected(ch,gsn_offensive))
 affect_strip(ch,gsn_offensive);
 if (is_affected(ch,gsn_monkey))
 affect_strip(ch,gsn_monkey);
 if (is_affected(ch,gsn_dragon))
 affect_strip(ch,gsn_dragon);
 if (is_affected(ch,gsn_tiger))
 affect_strip(ch,gsn_tiger);
 if (is_affected(ch,gsn_crane))
 affect_strip(ch,gsn_crane);
 if (is_affected(ch,gsn_chii_bolt))
 affect_strip(ch,gsn_chii_bolt);
 af.where = TO_AFFECTS;
 af.type = gsn_defensive;
 af.level = ch->level;
 af.duration = -1;
 af.modifier = 0;
 af.location = 0;
 af.bitvector = 0;
 affect_to_char(ch,&af);
 act("You begin empowering your defensive skills.",ch,NULL,NULL,TO_CHAR);
 act("$n starts emitting a blue peaceful aura.",ch,NULL,NULL,TO_ROOM);
 }
 else
 {
 send_to_char("You can't empower that.\n\r",ch);
 return;
 }
 if (!IS_IMMORTAL(ch))
 {
 af.where = TO_AFFECTS;
 af.type = gsn_empower;
 af.level = ch->level;
 af.duration = 1;
 af.modifier = 0;
 af.location = 0;
 af.bitvector = 0;
 affect_to_char(ch,&af);
 }
}
Edited

I would be interested in some feedback on this one from our resident monk experts -- @Zoichan, @Unknown Brother -- but generally, I don't have any issues with this.

I'm not an expert on monks at all.  But, I can point out one thing that will happen because of this.  Monks could become nearly permanently unlaggable due to balance.  Of course, it would cost mana, but no other class has a permanent lag protection.

@Archbishop Monk, not expert of monks?! Wut?! I thought Archbishop to be good title for monks.👀

I think the concern of lag immunity (while they have mana to spare for it) is not a large issue, their mana reserves are not vast and also consumed by entering stances, chii, etc. I think the bigger question is: Is the downtime provided by having to empower necessary? I don't recall offhand how many ticks it takes, but I believe it is between 2-3. I think this falls in line with other races/classes that have a mandatory downtime period. A drawback to their power in order to have some balance and introduce risk of being caught unprepared with the intent to not make them seem invulnerable/unbeatable.

I think the questions before us are, has the "gamescape" changed that they no longer should have this drawback? If they should keep the drawback, should the timers be adjusted and to what values?

Heres an question:

Are monks strong enough when fully prepared to justify a downtime window?

3 hours ago, Wade said:

Heres an question:

Are monks strong enough when fully prepared to justify a downtime window?

Against some classes?  Yes, yes they are.  Against others, not so much so.  Monk vs. cleric is pretty even.  Monk vs. invoker is just about timing and favors the monk heavily.  Monk vs. shaman also favors the monk heavily.  This is why I agree with @Izzzzy about taking away the rock/paper/scissors aspect of class balance.  It would be far easier then to balance classes overall.

edit:  I am all for changing and even strengthening monk abilities as long as it is balanced more against those they already have advantage over.  I HATED empowering on all of my monks as it left me with a smaller window of being able to fight.  Even then, I felt seriously underpowered against most melee, but didn't worry about most classes that couldn't lag.

Edited

At the moment, any monk player worth their salt is able to dance around for the hour while empowering. This change wouldn't really make them any stronger, it would just eliminate that small window of opportunity (that doesn't really get taken advantage of) while allowing a nice QoL change for the monk. 

Due to how Monks regen mana, they're essentially on a timer anyway. It just seems unnecessary to have another timer on top, especially if we start to do comparisons to say a blademaster which has no downtime. (Who I would also argue completely dominate some matchups as well.)

I'm not a smart person. Is what you are advocating for an instant empowerment?

I think he is advocating the once empowered, it is permanent until you decide to empower again.  So empower offense and you will permanently be in offense until you decide to switch to defense.  You would always be able to air thrash, always be able to trip until you decide to empower defensive.  Then, it would take 2 hours to empower defensive.

Edited

The only thing that changes is the duration of empower goes from 26 hours to permanent. Everything else stays the same.

TL;DR -- This has been discussed at great length by the staff and we have arrived at the following decision: we are not going to implement this change at this time.

In the interest of transparency, I would like to share the reasoning behind this decision, as well as some suggested next steps. The reasoning is the following:

  1. As proposed, this change would effectively allow monks the ability to switch stances/empowerment every two hours. The stance selected has a potent impact on combat -- not just for the monk, but for their opponent as well. Giving them the ability to switch stances this quickly and regularly presents substantial concerns for the ability of other players to react accordingly.

By way of counter example, blademasters are required to select a stance and remain in it for 12 hours at a time. As things stand currently, a monk can empower, select a stance, wait six hours, and empower again (either offensive or defensive). This works out to:

Initial Empowerment = 2 hours

Empowerment Cooldown = 6 hours

Second Empowerment = 2 hours

Total time to stance switch = 10 hours

  1. A timer is, in and of itself, a means of balance. Requiring a monk to prepare for battle and be cognizant of their affect timers as the fight rages on is no different than requiring a battlemage to apply and maintain all their buffs; a vampire to watch the clock; a dark-knight to watch the charm person timer; or anyone to keep tabs on the duration of their sanctuary.

In a world where everything is theoretically balanced and all players are of equivalent skill, the only way a fight gets won is when someone makes a mistake. Eliminating the potential for a monk's empowerment to lapse effectively eliminates the capacity for that mistake to be made and therefore for the fight to be won by the monk's opponent.

Since we don't live in that world, we instead looked at where monks excel and where they struggle. And the answer boils down to the fact that this change would make life more difficult for mages (who monks excel against) without substantially impacting melees (who monks are, to some extent, on a level with or even weak to).

Regarding next steps, we are still keeping a keen eye on monks (there are two at pinn, currently) and plan to continue evaluating opportunities to see if and how the class can/needs to be brought more in line with other classes. We also suspect that the equipment balance will have a substantive impact on monks as well, as stat values change and players are obligated to make more thoughtful decisions about their gear.

On behalf of the staff, I'd really like to thank you for taking the time, based on our discussion on Discord, to propose a thoughtful change and to supply a code snippet to go along with it (as a means of minimizing the coding effort required for implementation). If you have further suggestions -- either full-on mechanical changes or tweaks to the values behind certain skills/abilities, we certainly welcome them. As with any suggestion, I cannot promise that we will move forward with implementation; but I can promise that we will always listen and take such ideas into consideration.

@Wade

Edited