Danukem, on 07 October 2020 - 12:31 AM, said:
Is EVENT_PREGAME any more efficient in this regard than EVENT_GAME?
Danukem, on 07 October 2020 - 12:31 AM, said:
Reaper_Man, on 07 October 2020 - 04:49 AM, said:
December Man, on 08 October 2020 - 05:03 AM, said:
define SCARBULLET 15 defineprojectile SCARBULLET PROJ_WORKSLIKE 1 defineprojectile SCARBULLET PROJ_SPAWNS SMALLSMOKE defineprojectile SCARBULLET PROJ_DECAL BULLETHOLE defineprojectile SCARBULLET PROJ_EXTRA 20 defineprojectile SCARBULLET PROJ_XREPEAT 6 defineprojectile SCARBULLET PROJ_YREPEAT 6 defineprojectile SCARBULLET PROJ_TNUM 2 defineprojectile SCARBULLET PROJ_VEL 500 defineprojectile SCARBULLET PROJ_DROP -200
Danukem, on 09 October 2020 - 09:27 AM, said:
TRAILFRAME2 0 1 1 1 15
useractor notenemy BEAMTRAIL 0 TRAILFRAME2
spritepal 2
ifaction TRAILFRAME2 {
ifactioncount 3 { killit }
else
ifactioncount 2 { cstat 32768 }
else
ifactioncount 1 { cstat 2 }
}
enda
This post has been edited by Salvation: 12 October 2020 - 10:47 AM
ife wall[RETURN].picnum GLASSFRONT
{ sound GLASS_BREAKING
lotsofglass 20
ifrnd 85
{ setw[RETURN].picnum GLSSFRNTBR1 }
ifrnd 85
{ setw[RETURN].picnum GLSSFRNTBR2 }
else
{ setw[RETURN].picnum GLSSFRNTBR3 }
} randvar temp 2
switch temp
case 0
setw[RETURN].picnum GLSSFRNTBR1
break
case 1
setw[RETURN].picnum GLSSFRNTBR2
break
case 2
setw[RETURN].picnum GLSSFRNTBR3
break
endswitch
This post has been edited by MC84: 16 October 2020 - 12:20 PM
onevent EVENT_DISPLAYREST
getactor[THISACTOR].extra TEMP2
{
digitalnumber 2992 360 160 TEMP2 0 0 0 0 0 xdim ydim
}
endevent
state rf
getactor[THISACTOR].cstat TEMP4
ifvare TEMP7 259 { cstat 2 } else
ifvare TEMP7 771 { cstat 514 } else
{
ifrnd 128
cstat 4
else
cstat 0
}
ends
state getfloordist
getactor[THISACTOR].x x
getactor[THISACTOR].y y
updatesector x y TEMP7 // You should not trust [THISACTOR].Sectnum
getflorzofslope TEMP7 x y z
getactor[THISACTOR].z TEMP8
subvarvar z TEMP8
shiftvarr z 8
subvar z 1
ends
onevent EVENT_GAME
ifactor JIBS1
{
state getfloordist
ifvarl z 0
{
sound GIB_LAND2
changespritestat THISACTOR 1
state rf
setactor[THISACTOR].picnum 2249
ifrnd 84
spawn BLOODPOOL
else
guts JIBS6 3
}
}
endevent
Line 801, getflorzofslope: invalid sector -1
This post has been edited by December Man: 28 October 2020 - 11:49 AM
Jimmy, on 28 October 2020 - 12:08 PM, said:
sqrt updatesector cansee setarray setvarvar (specifically pulling data from an array)
defstate astardist
{
setvarvar ASTARDELTAX ASTARPOSX
subvarvar ASTARDELTAX NODEPOSX
abs ASTARDELTAX
setvarvar ASTARDELTAY ASTARPOSY
subvarvar ASTARDELTAY NODEPOSY
abs ASTARDELTAY
mulvarvar ASTARDELTAX ASTARDELTAX
mulvarvar ASTARDELTAY ASTARDELTAY
addvarvar ASTARDELTAX ASTARDELTAY
sqrt ASTARDELTAX ASTARDIST
}
ends// Ignore any point we don't have line of sight to getactor[THISACTOR].sectnum ASTARSECT updatesector ASTARPOSX ASTARPOSY ASTARSECT getsector[ASTARSECT].floorz ASTARPOSZ subvar ASTARPOSZ 6144 getactor[THISACTOR].sectnum NODESECT updatesector NODEPOSX NODEPOSY NODESECT getsector[NODESECT].floorz NODEPOSZ subvar NODEPOSZ 6144 cansee ASTARPOSX ASTARPOSY ASTARPOSZ ASTARSECT NODEPOSX NODEPOSY NODEPOSZ NODESECT ASTARCANSEE
Reaper_Man, on 10 December 2020 - 09:33 AM, said:
gamevar WEAPON3_TOTALTIME 6 0
Danukem, on 10 December 2020 - 11:27 AM, said:
ifactioncount 5
resetactioncount
else
ifactioncount 4
{
state astar
state facetarget
action A_ASTAR
move M_ASTAR geth getv
break
}This post has been edited by Danukem: 10 December 2020 - 02:11 PM
Danukem, on 10 December 2020 - 01:51 PM, said:
Danukem, on 10 December 2020 - 03:03 PM, said:
// Search distance 1.5 times node graph size, cheap method of accounting for diagonal distance
setvarvar ASTARMAXDIST NODEGRAPHSIZE
mulvar ASTARMAXDIST 15
divvar ASTARMAXDIST 10
// Estimated square root distance for diagonal movement
setvarvar ASTARSQRT NODEGRAPHSIZE
mulvar ASTARSQRT 1414
divvar ASTARSQRT 1000
[ . . .]
// ASTARPOSX/Y and NODEPOSX/Y are the X/Y position of the start and end points, respectively
setvarvar ASTARDELTAX ASTARPOSX
setvarvar ASTARDELTAY ASTARPOSY
subvarvar ASTARDELTAX NODEPOSX
abs ASTARDELTAX
subvarvar ASTARDELTAY NODEPOSY
abs ASTARDELTAY
// If node within range
ifvarvarl ASTARDELTAX ASTARMAXDIST
ifvarvarl ASTARDELTAY ASTARMAXDIST
{
// Cheap square root approximation
ifvare ASTARDELTAX 0
setvarvar ASTARDISTANCE NODEGRAPHSIZE
else
ifvare ASTARDELTAY 0
setvarvar ASTARDISTANCE NODEGRAPHSIZE
else
setvarvar ASTARDISTANCE ASTARSQRTThis post has been edited by Reaper_Man: 12 December 2020 - 07:17 PM
jimbob, on 13 December 2020 - 11:33 AM, said:
Reaper_Man, on 12 December 2020 - 05:55 PM, said:
set variable -1
for yadda yadda
{
ifn variable 1
{
// some code that sets variable to 1
}
}
Danukem, on 10 December 2020 - 03:03 PM, said:
This post has been edited by Sangman: 13 December 2020 - 04:01 PM