Scorpious2k
05-14-2004, 11:18 AM
First, in the next CVS you should see AC for mobs implemented. You will need to add a column for AC in npc_types by sourcing the file MobACupdate.sql or using this:
ALTER TABLE `npc_types` ADD `AC` smallint(5) not null default 0;
Since AC defaults to zero, all mobs will have no AC (in other words no difference than you have now) until you set values in it.
If you remember this thread : http://www.eqemulator.net/forums/viewtopic.php?t=14061 then you saw a suggestion I made of a way for serverops to control the way AC is implemented on their server. This will also be in the next CVS. Here is the way it will work (quoted from the above thread)
So, I propose instead the creation of 3 variables in the variables table.
ACfail - the percentage of time AC fails to protect. 0 would mean there was always some level of protection, 100 would mean AC has no affect. When AC fails, it will be possible to get a max dmg hit.
ACreduction - the percentage of AC that is ALWAYS reduced from a hit (except when AC fails with ACfail)
ACrandom - the maximum amount of additional protection AC provides. 0 would mean no additional protection is provided, otherwise an additional amount of reduction is calculated using a random percentage of 1 to this value (except when AC fails with ACfail)
So on our server ACfail=0, ACreduction=5, ACrandom=5. AC always provides protection of 5-10 percent.
Someone else might use ACfail=10, ACreduction=2, ACrandom=3 meaning that AC would fail 10% of the time and when it works you get 2-5% reduction.
Setting ACreduction to a value and ACrandom to 0 would give a constant reduction of a fixed percentage of the AC.
Setting ACrandom to a value and ACreduction to 0 would give a random reduction percentage of the AC from 1 to ACrandom.
I think this would give the ServerOps a lot of flexability.
ALTER TABLE `npc_types` ADD `AC` smallint(5) not null default 0;
Since AC defaults to zero, all mobs will have no AC (in other words no difference than you have now) until you set values in it.
If you remember this thread : http://www.eqemulator.net/forums/viewtopic.php?t=14061 then you saw a suggestion I made of a way for serverops to control the way AC is implemented on their server. This will also be in the next CVS. Here is the way it will work (quoted from the above thread)
So, I propose instead the creation of 3 variables in the variables table.
ACfail - the percentage of time AC fails to protect. 0 would mean there was always some level of protection, 100 would mean AC has no affect. When AC fails, it will be possible to get a max dmg hit.
ACreduction - the percentage of AC that is ALWAYS reduced from a hit (except when AC fails with ACfail)
ACrandom - the maximum amount of additional protection AC provides. 0 would mean no additional protection is provided, otherwise an additional amount of reduction is calculated using a random percentage of 1 to this value (except when AC fails with ACfail)
So on our server ACfail=0, ACreduction=5, ACrandom=5. AC always provides protection of 5-10 percent.
Someone else might use ACfail=10, ACreduction=2, ACrandom=3 meaning that AC would fail 10% of the time and when it works you get 2-5% reduction.
Setting ACreduction to a value and ACrandom to 0 would give a constant reduction of a fixed percentage of the AC.
Setting ACrandom to a value and ACreduction to 0 would give a random reduction percentage of the AC from 1 to ACrandom.
I think this would give the ServerOps a lot of flexability.