|
From three of my posts on Dios:
Imagine little newbie Loohoo rolling up their very first human warrior to try out a thrilling game of Carrion Fields. Because Loohoo wants to be able to fill the fields with carrion without worrying too much about RP restrictions, he rolls chaotic evil. Whoops, now he's enemies with Tribbies. Whoops, now he's enemies with Forties. Loohoo finished the academy quest and dons his fine leather gear, including the sleeves. Whoops, now he's enemies with Outlander. He met a young shapeshifter in the Academy who can tell he is a newb and has decided to help him rank some. Whoops, now he's enemies with Battle. While ranking, an Imperial asks him to take the Oath. He declines, not entirely sure what the Oath entails. Whoops, now he's enemies with the Empire. Things progress with the shapeshifter, who offers to have mudsex with him. Disgusted, he declines. Whoops, now he's enemies with the Heralds. At some point during his ranking experience, an Entropy character logs in. Whoops, now he's enemies with Entropy.
Now that Loohoo has made enemies of every cabal (scarab is a cult, not a cabal) in the game just by playing an innocent and seemingly newbie-friendly character, he will learn that he is constantly being hunted when he logs in -- and he will have no one to protect him. That means he will have to rely on his PK ability. Whoops, now he can't even rely on his PK ability. And why not? Because not only is he at the disadvantage that all of you masochistic neets and old farts refuse to rank without perfecting your skills, but you also all spend hours gathering preps so you can be battle ready. The newbie doesn't stand a chance. The newbie doesn't delete, but his logins become more and more sparse until he stops playing all together.
I think we can reduce the newbie's disadvantages and level the playing field by changing the way preps work. I propose adding flags to certain (or all) preps such that their effects are only active in PvE and provide no benefit during PvP. This will mean that players can only get PvP buffs from other players -- bards, trannies, etc. This will do a couple of things:
- Encourage more support classes to be rolled - Make PK based more on (haha moron) ability to fight than ability to prep - Make about 16 of the current 20 players stop playing entirely, but good riddance you power gamey loons - Make Stevers king of the realm
Are there flags now for determining whether a player in combat is fighting against a PC or NPC? I believe there are.
A) Tribbies are notified when a player attacks another player within their jurisdiction B) You cannot enter your guild/the Inn too soon after PvP
I imagine the code for one of those criteria above sets some kind of flag on a player saying they have recently been in PvP. Now, we had to add flags on all preps that we want to be PvE-only that can be checked against the player which consumed the prep. The first round of any battle thus becomes:
1) Player A attacks Player B 2) Iterate over Player A's preps, check for PvE-only flags 3) For all PvE-only preps, negate the effect somehow (more on this below) 4) Repeat 1 - 3 for player B 5) Player A's attack is calculated against player B, battle commences
There would be no change in timing from the player's perspective, as this is a fast piece of code to run. Now we need to sort out how to negate the effects of preps.
The preps are probably checked at every stage of battle, every time a piece of damage is calculated, every tick, and in tons of other instances. This way, damage calculation or regen can take prep effects into account at every possible instance. Each time a check on preps occurs, just add another check within that -- if prep is PvE only and player has PK flag set, prep does nothing. Whether or not the timer on the prep should count down while a PK flag is set isn't part of my discussion, though I'd wager we should still let the prep effect timers count down even if a PK flag is set.
Because I don't know anything about the codebase, I will assume the current method is the most simple I can think of programatically. I'm guessing that, currently, drinking a potion of flying calls the same piece of code that is called when a mage does 'c fly'. At risk of sounding like a flag boy, I am willing to bet that this shared function can be passed another flag, which I'll name here as IS_PREP. Each affect would be added to the players affects list with this flag set to either true or false. For this next example, let's assume the PK flag is called something like in IN_PVP. Now, at every stage where preps are included in calculation of something (damage, regen, etc), we have the check if IS_PREP and IN_PVP then skip calculating the prep modifiers. IS_PREP would be set to false if a spell is cast on a player by anything that is not a "prep" -- other players, Immortals, NPCs, perhaps gear progs, etc.
Yes, this will be tedious work -- all preps with some affect in battle need to be revisited. I think the benefit might be worth it, though. There might be PvE/RP related benefits to distinguishing between magic cast by items and magic cast by players, as well.
|