guard portal checks against null worldobject
All checks were successful
/ test (push) Successful in 33s

This commit is contained in:
Erik 2026-03-08 18:24:27 +01:00
parent a1bfac92db
commit d989f54672
2 changed files with 84 additions and 28 deletions

View file

@ -79,12 +79,14 @@ STATE: {hunt} ~~ {
DO: SetWatchdog 3 600 {really_stuck} DO: SetWatchdog 3 600 {really_stuck}
IF: DistToRteGE 1000 IF: DistToRteGE 1000
DO: SetState {really_stuck} DO: SetState {really_stuck}
IF: All IF: All
Expr {coordinatedistancewithz[getplayercoordinates[], wobjectgetphysicscoordinates[wobjectfindnearestbyobjectclass[14]]]<=4} Expr {setvar[nearPortal, wobjectfindnearestbyobjectclass[14]]}
Not Expr {wobjectgetname[wobjectfindnearestbyobjectclass[14]]==Singularity Caul} Expr {istrue[getvar[nearPortal]]}
DO: DoAll Expr {coordinatedistancewithz[getplayercoordinates[], wobjectgetphysicscoordinates[getvar[nearPortal]]]<=4}
ChatExpr {\/me is to close to +wobjectgetname[wobjectfindnearestbyobjectclass[14]]} Not Expr {wobjectgetname[getvar[nearPortal]]==Singularity Caul}
ChatExpr {\/me at +coordinatetostring[getplayercoordinates[]]} DO: DoAll
ChatExpr {\/me is to close to +wobjectgetname[getvar[nearPortal]]}
ChatExpr {\/me at +coordinatetostring[getplayercoordinates[]]}
IF: All IF: All
Any Any
Expr {getvar[mobsClose] == 0} Expr {getvar[mobsClose] == 0}
@ -100,12 +102,13 @@ STATE: {hunt} ~~ {
DO: DoAll DO: DoAll
Chat {/vt opt set enablecombat true} Chat {/vt opt set enablecombat true}
SetState {loot} SetState {loot}
IF: All IF: All
Expr {setvar[portal, wobjectfindnearestbyobjectclass[14]]} Expr {setvar[portal, wobjectfindnearestbyobjectclass[14]]}
Expr {coordinatedistancewithz[getplayercoordinates[], wobjectgetphysicscoordinates[getvar[portal]]] <= 8} Expr {istrue[getvar[portal]]}
Not Expr {wobjectgetname[wobjectfindnearestbyobjectclass[14]]==Singularity Caul} Expr {coordinatedistancewithz[getplayercoordinates[], wobjectgetphysicscoordinates[getvar[portal]]] <= 8}
Not Expr {wobjectgetname[wobjectfindnearestbyobjectclass[14]]#Destroyed.*} Not Expr {wobjectgetname[getvar[portal]]==Singularity Caul}
Expr {wobjectisvalid[getvar[portal]]} Not Expr {wobjectgetname[getvar[portal]]#Destroyed.*}
Expr {wobjectisvalid[getvar[portal]]}
Expr {setvar[portalHeading, getheadingto[getvar[portal]]]} Expr {setvar[portalHeading, getheadingto[getvar[portal]]]}
Expr {setvar[playerHeading, getheading[wobjectgetplayer[]]]} Expr {setvar[playerHeading, getheading[wobjectgetplayer[]]]}
Expr {setvar[relativeAngle, abs[getvar[portalHeading] - getvar[playerHeading]]]} Expr {setvar[relativeAngle, abs[getvar[portalHeading] - getvar[playerHeading]]]}
@ -241,12 +244,13 @@ STATE: {loot} ~~ {
DoExpr {setvar[lootclock,stopwatchcreate[]]} DoExpr {setvar[lootclock,stopwatchcreate[]]}
DoExpr {stopwatchstart[getvar[lootclock]]} DoExpr {stopwatchstart[getvar[lootclock]]}
SetState {hunt} SetState {hunt}
IF: All IF: All
Expr {setvar[portal, wobjectfindnearestbyobjectclass[14]]} Expr {setvar[portal, wobjectfindnearestbyobjectclass[14]]}
Expr {coordinatedistancewithz[getplayercoordinates[], wobjectgetphysicscoordinates[getvar[portal]]] <= 8} Expr {istrue[getvar[portal]]}
Not Expr {wobjectgetname[wobjectfindnearestbyobjectclass[14]]==Singularity Caul} Expr {coordinatedistancewithz[getplayercoordinates[], wobjectgetphysicscoordinates[getvar[portal]]] <= 8}
Not Expr {wobjectgetname[wobjectfindnearestbyobjectclass[14]]#Destroyed.*} Not Expr {wobjectgetname[getvar[portal]]==Singularity Caul}
Expr {wobjectisvalid[getvar[portal]]} Not Expr {wobjectgetname[getvar[portal]]#Destroyed.*}
Expr {wobjectisvalid[getvar[portal]]}
Expr {setvar[portalHeading, getheadingto[getvar[portal]]]} Expr {setvar[portalHeading, getheadingto[getvar[portal]]]}
Expr {setvar[playerHeading, getheading[wobjectgetplayer[]]]} Expr {setvar[playerHeading, getheading[wobjectgetplayer[]]]}
Expr {setvar[relativeAngle, abs[getvar[portalHeading] - getvar[playerHeading]]]} Expr {setvar[relativeAngle, abs[getvar[portalHeading] - getvar[playerHeading]]]}

View file

@ -306,7 +306,7 @@ K
V V
n n
n n
2 4
i i
26 26
TABLE TABLE
@ -319,7 +319,33 @@ n
s s
e e
s s
coordinatedistancewithz[getplayercoordinates[], wobjectgetphysicscoordinates[wobjectfindnearestbyobjectclass[14]]]<=4 setvar[nearPortal, wobjectfindnearestbyobjectclass[14]]
i
26
TABLE
2
k
v
n
n
1
s
e
s
istrue[getvar[nearPortal]]
i
26
TABLE
2
k
v
n
n
1
s
e
s
coordinatedistancewithz[getplayercoordinates[], wobjectgetphysicscoordinates[getvar[nearPortal]]]<=4
i i
21 21
TABLE TABLE
@ -341,7 +367,7 @@ n
s s
e e
s s
wobjectgetname[wobjectfindnearestbyobjectclass[14]]==Singularity Caul wobjectgetname[getvar[nearPortal]]==Singularity Caul
TABLE TABLE
2 2
K K
@ -361,7 +387,7 @@ n
s s
e e
s s
\/me is to close to +wobjectgetname[wobjectfindnearestbyobjectclass[14]] \/me is to close to +wobjectgetname[getvar[nearPortal]]
i i
8 8
TABLE TABLE
@ -548,7 +574,7 @@ K
V V
n n
n n
12 13
i i
26 26
TABLE TABLE
@ -574,6 +600,19 @@ n
s s
e e
s s
istrue[getvar[portal]]
i
26
TABLE
2
k
v
n
n
1
s
e
s
coordinatedistancewithz[getplayercoordinates[], wobjectgetphysicscoordinates[getvar[portal]]] <= 8 coordinatedistancewithz[getplayercoordinates[], wobjectgetphysicscoordinates[getvar[portal]]] <= 8
i i
21 21
@ -596,7 +635,7 @@ n
s s
e e
s s
wobjectgetname[wobjectfindnearestbyobjectclass[14]]==Singularity Caul wobjectgetname[getvar[portal]]==Singularity Caul
i i
21 21
TABLE TABLE
@ -618,7 +657,7 @@ n
s s
e e
s s
wobjectgetname[wobjectfindnearestbyobjectclass[14]]#Destroyed.* wobjectgetname[getvar[portal]]#Destroyed.*
i i
26 26
TABLE TABLE
@ -1549,7 +1588,7 @@ K
V V
n n
n n
12 13
i i
26 26
TABLE TABLE
@ -1575,6 +1614,19 @@ n
s s
e e
s s
istrue[getvar[portal]]
i
26
TABLE
2
k
v
n
n
1
s
e
s
coordinatedistancewithz[getplayercoordinates[], wobjectgetphysicscoordinates[getvar[portal]]] <= 8 coordinatedistancewithz[getplayercoordinates[], wobjectgetphysicscoordinates[getvar[portal]]] <= 8
i i
21 21
@ -1597,7 +1649,7 @@ n
s s
e e
s s
wobjectgetname[wobjectfindnearestbyobjectclass[14]]==Singularity Caul wobjectgetname[getvar[portal]]==Singularity Caul
i i
21 21
TABLE TABLE
@ -1619,7 +1671,7 @@ n
s s
e e
s s
wobjectgetname[wobjectfindnearestbyobjectclass[14]]#Destroyed.* wobjectgetname[getvar[portal]]#Destroyed.*
i i
26 26
TABLE TABLE