AngeloTadeucci / Maple2

Server emulator for MapleStory2.
GNU Affero General Public License v3.0
18 stars 15 forks source link

Trigger - SetMesh issues #83

Open gwagwaflamingo opened 2 months ago

gwagwaflamingo commented 2 months ago

The current implementation of SetMesh does not reflect vanilla behavior correctly. As seen in trigger editor, the parameters are:

Arguments 1 and 2 are implemented correctly, however, argument 3 is currently implemented as if it were argument 5, treating it as fade. Instead, it is the duration of how long it should wait before starting the action at all. A good example of this is the patterns in Spring Beach, with how blocks will disappear in waves.

<state name="퍼즐패턴25">
 <onEnter>
  <action name="타이머를설정한다" arg1="1" arg2="14"/>
  <action name="타이머를설정한다" arg1="1" arg2="10"/>
  <action name="메쉬를설정한다" arg1="10" arg2="0" arg3="0" arg4="0"/>
  <action name="메쉬를설정한다" arg1="8,19,30" arg2="0" arg3="500" arg4="0"/>
  <action name="메쉬를설정한다" arg1="6,17,28,39,50" arg2="0" arg3="1000" arg4="0"/>
  <action name="메쉬를설정한다" arg1="4,15,26,37,48,59,70" arg2="0" arg3="1500" arg4="0"/>
  <action name="메쉬를설정한다" arg1="2,13,24,35,46,57,68,79,90" arg2="0" arg3="2000" arg4="0"/>
  <action name="메쉬를설정한다" arg1="11,22,33,44,55,66,77,88,99" arg2="0" arg3="2500" arg4="0"/>
  <action name="메쉬를설정한다" arg1="31,42,53,64,75,86,97" arg2="0" arg3="3000" arg4="0"/>
  <action name="메쉬를설정한다" arg1="51,62,73,84,95" arg2="0" arg3="3500" arg4="0"/>
  <action name="메쉬를설정한다" arg1="71,82,93" arg2="0" arg3="4000" arg4="0"/>
  <action name="메쉬를설정한다" arg1="91" arg2="0" arg3="4500" arg4="0"/>
 </onEnter>
</state>

Argument 4 is the interval between the setting of each TriggerObject, in the order they are defined. A good example is Tiares Desert (02010084), with how the water blocks will disappear in a circle pattern, due to the interval and how their IDs are assigned in a specific pattern. <action name="메쉬를설정한다" arg1="3001-3063" arg2="0" arg3="0" arg4="30" arg5="2" /> Other good examples are numerous patterns in Spring Beach.

Argument 5 is the duration of the fade away/in of the visibility. There may however be an unknown default value for this argument, as the fade animation exists even when the argument isn't defined, as seen in Surnurny's Dream (80000007). <action name="메쉬를설정한다" arg1="401,402,403,404,405,406,407,408,409" arg2="0"/>

kOchirasu commented 2 months ago

Do we have full documentation on all args?

Zintixx commented 2 months ago

Do we have full documentation on all args?

Not full. I think there's some actions missing but triggerEditor.xml does document them.