Rest timer suppression on Arena
Moderators: Moderator, Developer, Quality Control, DM
-
Shad
- Posts: 328
- Joined: Tue Nov 11, 2014 5:36 am
- Location: Ukraine
Rest timer suppression on Arena
As it is.. to support for training, tutoring between mages, and learning mechanics of lots of our new spells, suggest there would be an area where it would be possible to rest at will. Possibly Arena in Northerns Farmlands? also arenas in guildhalls.
Tad - mercenary of the Phoenix Company. Now spending most of time in Friendly Arms, where he rents a room.
Corwin - Who am I? - Lost memory after injuries in the Undead war..
Corwin - Who am I? - Lost memory after injuries in the Undead war..
- Kiran
- Posts: 797
- Joined: Wed Feb 03, 2016 12:21 pm
- Location: United Kingdom
Re: Rest timer suppression on Arena
Great idea and bad.
You are near some good xp areas - people could easily abuse it by going in, blowing lots of spells, run back out, rest at arena, repeat.
Very nice way for a blaster to level thats for certain.
You are near some good xp areas - people could easily abuse it by going in, blowing lots of spells, run back out, rest at arena, repeat.
Very nice way for a blaster to level thats for certain.
Player of:
Damian Pascal, - Run away/dead. - Background - Corruption from Within
Amenthes Serb, Knight - Gone missing/Supposed dead Background
Tamzim Renima, mercenary - Handed over to the fist. Background
Kiran, Golden Wheel - Presumed dead
Althalous Fenwick, Paladin of Mystra. - A memory lost
Althalous Fenwick, Paladin of Mystra. - A memory lost
-
Shad
- Posts: 328
- Joined: Tue Nov 11, 2014 5:36 am
- Location: Ukraine
Re: Rest timer suppression on Arena
Once decision be made, that would be fine details. If it should not be abused - it wouldn't.
Tad - mercenary of the Phoenix Company. Now spending most of time in Friendly Arms, where he rents a room.
Corwin - Who am I? - Lost memory after injuries in the Undead war..
Corwin - Who am I? - Lost memory after injuries in the Undead war..
-
Shad
- Posts: 328
- Joined: Tue Nov 11, 2014 5:36 am
- Location: Ukraine
Re: Rest timer suppression on Arena
Also to make arenas a place where its impossible to die.
Tad - mercenary of the Phoenix Company. Now spending most of time in Friendly Arms, where he rents a room.
Corwin - Who am I? - Lost memory after injuries in the Undead war..
Corwin - Who am I? - Lost memory after injuries in the Undead war..
- ValerieJean
- Retired Staff
- Posts: 833
- Joined: Thu Mar 20, 2014 10:54 pm
Re: Rest timer suppression on Arena
I believe with a proper script it could be placed as a trigger outside of it.chambordini wrote:If somehow we could deplete all of your uses on abilities and spell casts after you leave the arena, and making you wait a regular rest cooldown, it could work, dunno if it's possible though, sounds like too much work for very little gain.
onTrigger or enter trigger cant recall off the top of my head remove buffs etc
Micar'vilchi Illiathor
Gaven Arkalis
Gaven Arkalis
-
Shad
- Posts: 328
- Joined: Tue Nov 11, 2014 5:36 am
- Location: Ukraine
Re: Rest timer suppression on Arena
If we'll really talk how, it may be bit more complicated, for there are multiple ways of leaving, including teleports and worse. But no matter how one leaves, to abuse this one should return. I'd for starters make the whole area covered in invisible trigger, and placed script at OnEnter that would disallow consecutive entering if there were no leaving, or timer did not expired - something like this:
OnEnter:
OnExit:
p.s. This is rough work, made in half an hour. But you've got an idea.
OnEnter:
Hidden: show
Hidden: show
Tad - mercenary of the Phoenix Company. Now spending most of time in Friendly Arms, where he rents a room.
Corwin - Who am I? - Lost memory after injuries in the Undead war..
Corwin - Who am I? - Lost memory after injuries in the Undead war..
- Aspect of Sorrow
- Custom Content
- Posts: 2679
- Joined: Fri Mar 28, 2014 7:11 pm
- Location: Reliquary
Re: Rest timer suppression on Arena
Shorter and easier is to require a normal rest first on the original timer with the area value check, all subsequent rests being suppressed which solves the abuse question and doable in two lines. This way the area designers aren't required to handle onenter/onexit/trigger events. Refactor for getnearestwaypoint usage with range for WP in existing areas than new areas altogether.
Code: Select all
(GetLocalInt(GetArea(oPC), "restSuppress") == 1) ? intflag1 : intflag2; // Handle timer change boolean
Code: Select all
(GetLocalInt(oPC, "restSuppressPC") == 0) ? SetLocalInt() : SetLocalInt() // For handling temporary onpc suppression after first rest timer threshold in area.
-
Shad
- Posts: 328
- Joined: Tue Nov 11, 2014 5:36 am
- Location: Ukraine
Re: Rest timer suppression on Arena
Ok, this is one way of allowing sequential rests in the area/near the waypoint. Its the same literally as checking if PC is inside a trigger, only trigger allows for any shape.Aspect of Sorrow wrote:Shorter and easier is to require a normal rest first on the original timer with the area value check, all subsequent rests being suppressed which solves the abuse question and doable in two lines. This way the area designers aren't required to handle onenter/onexit/trigger events. Refactor for getnearestwaypoint usage with range for WP in existing areas than new areas altogether.
Code: Select all
(GetLocalInt(GetArea(oPC), "restSuppress") == 1) ? intflag1 : intflag2; // Handle timer change booleanCode: Select all
(GetLocalInt(oPC, "restSuppressPC") == 0) ? SetLocalInt() : SetLocalInt() // For handling temporary onpc suppression after first rest timer threshold in area.
But how it prevents abuse that chambordini mentioned - resting normal, leaving, blasting, returning-resting with suppressed timer, leaving, blasting, returning etc? How exactly would you require normal rest first any time abuser returns?
Tad - mercenary of the Phoenix Company. Now spending most of time in Friendly Arms, where he rents a room.
Corwin - Who am I? - Lost memory after injuries in the Undead war..
Corwin - Who am I? - Lost memory after injuries in the Undead war..
- Aspect of Sorrow
- Custom Content
- Posts: 2679
- Joined: Fri Mar 28, 2014 7:11 pm
- Location: Reliquary
Re: Rest timer suppression on Arena
The trigger's shape runs checks for every one of it's points before it validates the object in it's space. Let's assume a trigger is drawn in an oval shape as much as it can in an arena area, and there's about ten points drawn (five hemispheric points on one side, five on another). All three floats are calculated against the next angle / point float, etc, 30 in this example (vector(hash.x, hash.y, hash.z)).
The area check is a single mnemonic pointer move to the area object, and one or two increment (inc eax) counters to the register for validation.
The WP approach is another mnemonic pointer move to the PC object, validating it's x,y,z difference between it and the two mnemonic moves to the WP object's vectored position, for 6 calculated contexts in the clock cycle.
Trigger is speedier than GetNearestWP only if the trigger has less than five points. The area validator is the fastest of them.
----
My claim is that area one alone will suffice, and is the most expedient of the options.
The area check is a single mnemonic pointer move to the area object, and one or two increment (inc eax) counters to the register for validation.
The WP approach is another mnemonic pointer move to the PC object, validating it's x,y,z difference between it and the two mnemonic moves to the WP object's vectored position, for 6 calculated contexts in the clock cycle.
Trigger is speedier than GetNearestWP only if the trigger has less than five points. The area validator is the fastest of them.
----
My claim is that area one alone will suffice, and is the most expedient of the options.
Last edited by Aspect of Sorrow on Sat Dec 10, 2016 5:39 am, edited 1 time in total.
- Aspect of Sorrow
- Custom Content
- Posts: 2679
- Joined: Fri Mar 28, 2014 7:11 pm
- Location: Reliquary
Re: Rest timer suppression on Arena
The prevented abuse is to ensure validation of the area/trigger/getwp location as the first action of any rest, the first ternary example I gave, though in practice would be an if else to shorten up general waste in logic.
-
Shad
- Posts: 328
- Joined: Tue Nov 11, 2014 5:36 am
- Location: Ukraine
Re: Rest timer suppression on Arena
With great respect to your knowledge of inside mechanics behind the functions, comparing trigger with distance to WP. But its don't even need that to understand that checking single variable on Area would be more efficient, only disadvantage being area approach would only allow for designated areas for arenas, nothing like exterior building arena near the Gate.
Well, the abuser would return to rest in "allowed" area, not firing the onrest script in between.Aspect of Sorrow wrote:The prevented abuse is to ensure validation of the area/trigger/getwp location as the first action of any rest, the first ternary example I gave, though in practice would be an if else to shorten up general waste in logic.
Last edited by Shad on Sat Dec 10, 2016 5:42 am, edited 1 time in total.
Tad - mercenary of the Phoenix Company. Now spending most of time in Friendly Arms, where he rents a room.
Corwin - Who am I? - Lost memory after injuries in the Undead war..
Corwin - Who am I? - Lost memory after injuries in the Undead war..
- Aspect of Sorrow
- Custom Content
- Posts: 2679
- Joined: Fri Mar 28, 2014 7:11 pm
- Location: Reliquary
Re: Rest timer suppression on Arena
I realized that I wasn't clear, my vouch is the area only version of my suggestions without needing a onenter/onexit addition being made.
The getnearestwp was an optional alternative, not a requisite.
The arenas could be all put into a single interior, differently themed, but would reduce the need of multiples externally.
The getnearestwp was an optional alternative, not a requisite.
The arenas could be all put into a single interior, differently themed, but would reduce the need of multiples externally.
Last edited by Aspect of Sorrow on Sat Dec 10, 2016 5:48 am, edited 2 times in total.
-
Shad
- Posts: 328
- Joined: Tue Nov 11, 2014 5:36 am
- Location: Ukraine
Re: Rest timer suppression on Arena
My example was only about preventing consecutive enter/leave/enter/etc. Easily applicable to designated area in place of trigger.
Tad - mercenary of the Phoenix Company. Now spending most of time in Friendly Arms, where he rents a room.
Corwin - Who am I? - Lost memory after injuries in the Undead war..
Corwin - Who am I? - Lost memory after injuries in the Undead war..
- Aspect of Sorrow
- Custom Content
- Posts: 2679
- Joined: Fri Mar 28, 2014 7:11 pm
- Location: Reliquary
Re: Rest timer suppression on Arena
Using a DelayCommand removal of the onpc variable would fix that without onenter/onexit.
10 casts, each once a round for 6 seconds, are likely their buffs and maybe one spell. A removal of the variable after one minute would suffice.
10 casts, each once a round for 6 seconds, are likely their buffs and maybe one spell. A removal of the variable after one minute would suffice.
-
Shad
- Posts: 328
- Joined: Tue Nov 11, 2014 5:36 am
- Location: Ukraine
Re: Rest timer suppression on Arena
Wiping as you wrote, should also work, I even like it more.
DelayCommand (in my example too) is not best client side crash-proof, so OnEnter (area or trigger, whatever design would need) I think would be better, because we already have reliable rest timer.
Now, as mentioned before, working out fine details only took an hour I think.
btw can use same variable that suppress rest - to suppres normal death scripts.
DelayCommand (in my example too) is not best client side crash-proof, so OnEnter (area or trigger, whatever design would need) I think would be better, because we already have reliable rest timer.
Now, as mentioned before, working out fine details only took an hour I think.
btw can use same variable that suppress rest - to suppres normal death scripts.
Last edited by Shad on Sat Dec 10, 2016 6:27 am, edited 2 times in total.
Tad - mercenary of the Phoenix Company. Now spending most of time in Friendly Arms, where he rents a room.
Corwin - Who am I? - Lost memory after injuries in the Undead war..
Corwin - Who am I? - Lost memory after injuries in the Undead war..