Login
User Name:

Password:



Register

Forgot your password?
do_owhere recursive
Author: Khonsu
Submitted by: Khonsu
Changes list / Addchange
Author: Khonsu
Submitted by: Khonsu
6Dragons mp3 sound pack
Author: Vladaar
Submitted by: Vladaar
AFKMud 2.2.3
Author: AFKMud Team
Submitted by: Samson
SWFOTEFUSS 1.5
Author: Various
Submitted by: Samson
Users Online
Yandex

Members: 0
Guests: 16
Stats
Files
Topics
Posts
Members
Newest Member
489
3,792
19,647
597
Aileenutz

Today's Birthdays
Trelidan (43), Vladaar (52)
» SmaugMuds » Codebases » AFKMud Support & Development » Pause after a mob is killed b...
Forum Rules | Mark all | Recent Posts

Pause after a mob is killed before you can do another action
< Newer Topic :: Older Topic >

Pages:<< prev 1 next >>
Post is unread #1 Feb 4, 2011 8:36 am   Last edited Feb 4, 2011 11:22 am by Sherm
Go to the top of the page
Go to the bottom of the page

Sherm
Fledgling
GroupMembers
Posts33
JoinedDec 20, 2010

 
Been trying to find the section of code to lower the pause after a mob is killed. This wait seem extremely long. Can anyone point me in the right direction.


Thanks

Post is unread #2 Feb 4, 2011 4:35 pm   Last edited Feb 4, 2011 4:48 pm by Txzeenath
Go to the top of the page
Go to the bottom of the page

Txzeenath
Apprentice
GroupMembers
Posts86
JoinedJul 24, 2004

 
Just recently got back into this whole thing after about 6 years, so my memory may be shot.. but I have a feeling the delay you're experiencing/talking about is the wait_state imposed on you by using skills. This can be modified in each spell via directly editing your spells in your file, or "sset beats <#>"

      /*
       * waitstate
       */
      WAIT_STATE( ch, skill_table[sn]->beats );

the above is just an example, the wait_state based on a skill's "beats" is used throughout the code.

slookup quantum

Sn:  192 Slot:  314 Spell: 'quantum spike       '
DamType: energy  ActType: create   ClassType: death   PowerType: minor
Saves: none  SaveEffect: none
Type: Spell  Target: offensive  Minpos: 7  Mana: 15  Beats: 8  Range: 0
Flags: 0  Guild: -1  Value: 0  Info: 908  Code: spell_quantum_spike



For a quick way to change them all consistantly, you could test out a good value that works for you vs the original,figure out a ratio of how much you changed by, and edit:
   if( skill->beats )
      fprintf( fpout, "Rounds       %d\n", skill->beats );
[code]


to something like


[code]
   if( skill->beats )
      fprintf( fpout, "Rounds       %d\n", (skill->beats/2)+1 );



Load up the game, run a sset save skill table, shut down, change the code back(otherwise it will keep reducing each save), and when you load back, they should all be the modified value.
I would definately back-up the existing skills file though.

Post is unread #3 Feb 7, 2011 1:44 pm   
Go to the top of the page
Go to the bottom of the page

Sherm
Fledgling
GroupMembers
Posts33
JoinedDec 20, 2010

 
Nahh not talking about the use of skills during a fight, I could see this, if a skill was used right before the mob died, but when a mob dies there is like a 3 to 5 sec pause before you can do anything.


Sherm

Post is unread #4 Feb 7, 2011 4:31 pm   Last edited Feb 7, 2011 4:42 pm by Txzeenath
Go to the top of the page
Go to the bottom of the page

Txzeenath
Apprentice
GroupMembers
Posts86
JoinedJul 24, 2004

 
AFAIK, other than lag, the only thing that adds a delay to players on killing(without using ANY skills) is the wait_state applied for pkills. Following the structure/cycle for the combat/killing there doesn't seem to be anywhere else, unless i'm overlooking it. I know in the SmaugFUSS it isn't present, and as far as I remember, over my years of playing SMAUG, never did.
(also testable on standard smaug by repeatedly typing movement commands, you will instantly move upon target death)

Maybe somebody with more experience in the afkmud code would know if the combat "cycle" has been tinkered with in a way that would cause this.

Post is unread #5 Feb 8, 2011 12:31 pm   
Go to the top of the page
Go to the bottom of the page

Sherm
Fledgling
GroupMembers
Posts33
JoinedDec 20, 2010

 
I figured out what it was. In fight.cpp go to do_kill there is a wait_state( 2 * sysdata->pulseviolence) just to do a kill. If you killed a mob in 1 -3 round then there was a pulseviolence. If it took 4 or more round to kill a mob then you could move immediatly after it died. But if you killed it in one round you had 2 round to wait before the move went in.

Post is unread #6 Feb 9, 2011 3:17 am   
Go to the top of the page
Go to the bottom of the page

Txzeenath
Apprentice
GroupMembers
Posts86
JoinedJul 24, 2004

 
That should be a 1 * sysdata->pulseviolence, which it is in both afkmud and smaugfuss currently :/ must've switched on ya at some point :-p

Pages:<< prev 1 next >>