Code:
trait method QName(PackageNamespace(""), $"functionname" );
method
refid $"fullfunctionname"
param QName(PackageNamespace(""), "Number")
returns QName(PackageNamespace(""), "void")
body
maxstack 16
localcount 17
initscopedepth 16
maxscopedepth 18
code
getlocal0
pushscope
; Get Camera Angle and add it to firing angle
getlocal1
getlex QName(PackageNamespace("com.company.assembleegameclient.parameters"), "Parameters")
getproperty QName(PackageNamespace(""), "data_")
getproperty Multiname("cameraAngle", [PrivateNamespace("*", "com.company.assembleegameclient.objects:Player#0"), PackageNamespace(""), PrivateNamespace("*", "com.company.assembleegameclient.objects:Player#1"), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("https://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"playerNamespace"), StaticProtectedNs($"playerNamespace"), StaticProtectedNs($"characterNamespace"), StaticProtectedNs($"gameobjectNamespace"), StaticProtectedNs($"basicobjectNamespace")])
add
setlocal 7
; Check to see if manual fire is on
getlex QName(PackageNamespace(""), "map_")
getproperty QName(PackageNamespace(""), "gs_")
getproperty QName(PackageNamespace(""), "mui_")
getproperty QName(PrivateNamespace("*", $"mouseClass"), $"mouseClicked")
iftrue SHOOT
; Empty Current Object
pushnull
coerce QName(PackageNamespace("com.company.assembleegameclient.objects"), "GameObject")
dup
setlocal 4
; Create a new register for Constructs
setlocal 16
; Set Current Distance to -1
pushbyte 255
setlocal 8
; Set considered distance to 0
pushbyte 0
setlocal 9
; Initialize Weapon range as null
pushnull
coerce_a
setlocal 11
; Initialize considered target health
pushbyte 0
setlocal 12
; initialize Current target health
pushbyte 0
setlocal 13
; Used as the Enumerator index in the hasnext2 loop
pushbyte 0
setlocal 5
; Create an array of all the object currently loaded
getlex QName(PackageNamespace(""), "map_")
getproperty QName(PackageNamespace(""), "goDict_")
coerce_a
setlocal 6
; Begin Loop
jump NEXTOBJ
L34:
; Move to the next object in the array
label
getlocal 6
getlocal 5
nextvalue
coerce QName(PackageNamespace("com.company.assembleegameclient.objects"), "GameObject")
dup
setlocal 4
; Use first instance of loc4 to check if the object is a character i.e. not a wall
getlex QName(PackageNamespace("com.company.assembleegameclient.objects"), "Character")
istypelate
iffalse NEXTOBJ
; Check to see if the object is an enemy
getlocal 4
getproperty QName(PackageNamespace(""), "props_")
getproperty QName(PackageNamespace(""), "isEnemy_")
iffalse NEXTOBJ
; Check to see if enemy is damagable
getlocal 4
callproperty QName(PackageNamespace(""), $"FunctionIsInvincible"), 0 ;Check if target is INVINCIBLE
iftrue NEXTOBJ
getlocal 4
callproperty QName(PackageNamespace(""), $"FunctionsIsStasis"), 0 ;Check if target is in STASIS
iftrue NEXTOBJ
; Get Distance to considered target
getlex QName(PackageNamespace(""), "Math")
getlocal 4
getproperty QName(PackageNamespace(""), "y_")
getlex QName(PackageNamespace(""), "y_")
subtract
dup
multiply
getlocal 4
getproperty QName(PackageNamespace(""), "x_")
getlex QName(PackageNamespace(""), "x_")
subtract
dup
multiply
add
callproperty QName(PackageNamespace(""), "sqrt"), 1
dup
setlocal 9
; Get Weapon Range
getlex QName(PackageNamespace("com.company.assembleegameclient.objects"), "ObjectLibrary")
getproperty QName(PackageNamespace(""), $"ObjLibDictionary")
getlex QName(PackageNamespace(""), $"gameobjVector")
pushbyte 0
getproperty MultinameL([PrivateNamespace("*", "com.company.assembleegameclient.objects:Projectile#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Projectile#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("https://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"projectileNamespace"), StaticProtectedNs($"projectileNamespace"), StaticProtectedNs($"basicobjectNamespace")])
convert_i
getproperty MultinameL([PrivateNamespace("*", "com.company.assembleegameclient.objects:Projectile#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Projectile#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("https://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"projectileNamespace"), StaticProtectedNs($"projectileNamespace"), StaticProtectedNs($"basicobjectNamespace")])
getproperty QName(PackageNamespace(""), $"ObjPropertiesDictionary")
pushbyte 0
getproperty MultinameL([PrivateNamespace("*", "com.company.assembleegameclient.objects:Projectile#0"), PrivateNamespace("*", "com.company.assembleegameclient.objects:Projectile#1"), PackageNamespace(""), PackageNamespace("com.company.assembleegameclient.objects"), PackageInternalNs("com.company.assembleegameclient.objects"), Namespace("https://adobe.com/AS3/2006/builtin"), ProtectedNamespace($"projectileNamespace"), StaticProtectedNs($"projectileNamespace"), StaticProtectedNs($"basicobjectNamespace")])
dup
setlocal 11
; Check to see if current Object is within range
getproperty QName(PackageNamespace(""), "speed_")
pushshort 10000
divide
getlocal 11
getproperty QName(PackageNamespace(""), "lifetime_")
multiply
pushbyte 1 ; add 1 to weapon range
add
ifgt NEXTOBJ
; Check to see if Current Object is a construct
getlocal 4
getproperty QName(PackageNamespace(""), "props_")
getproperty QName(PackageNamespace(""), "id_")
setlocal 15
getlocal 15
pushstring "Steel Bot"
ifeq CONSTRUCT
getlocal 15
pushstring "Rock Bot"
ifeq CONSTRUCT
getlocal 15
pushstring "Paper Bot"
ifeq CONSTRUCT
jump SKIP
CONSTRUCT:
getlocal 4
setlocal 16
jump NEXTOBJ
SKIP:
; Get Current enemy Health
getlocal 4
getproperty QName(PackageNamespace(""), $"Aimbot_charMaxHealth")
dup
setlocal 13
; Check to see if they are equal
getlocal 12
ifeq L103
; Check to see if new health is higher
getlocal 13
getlocal 12
iflt NEXTOBJ
jump L107
L103:
; Check to see which Enemy is closer in the event of equal health
getlocal 9
getlocal 8
iflt L107
jump NEXTOBJ
L107:
; Update Considered health
getlocal 13
setlocal 12
; Update considered distance
getlocal 9
setlocal 8
; Update angle to considered target
getlex QName(PackageNamespace(""), "Math")
getlocal 4
getproperty QName(PackageNamespace(""), "y_")
getlex QName(PackageNamespace(""), "y_")
subtract
getlocal 4
getproperty QName(PackageNamespace(""), "x_")
getlex QName(PackageNamespace(""), "x_")
subtract
callproperty QName(PackageNamespace(""), "atan2"), 2
setlocal 7
jump NEXTOBJ
NEXTOBJ:
; Loop
hasnext2 6, 5
iftrue L34
; empty the stack
kill 6
kill 5
; Check to see if enemy health is still 0
getlocal 12
pushbyte 0
ifeq CHECK
jump SHOOT
CHECK:
; Check to see if only constructs remain
getlocal 16
pushnull
ifeq END
getlex QName(PackageNamespace(""), "Math")
getlocal 16
getproperty QName(PackageNamespace(""), "y_")
getlex QName(PackageNamespace(""), "y_")
subtract
getlocal 16
getproperty QName(PackageNamespace(""), "x_")
getlex QName(PackageNamespace(""), "x_")
subtract
callproperty QName(PackageNamespace(""), "atan2"), 2
setlocal 7
SHOOT:
getlocal0
getlocal 7
callpropvoid QName(PrivateNamespace("*", "com.company.assembleegameclient.objects:Player#0"), "shoot"), 1
END:
returnvoid
end ; code
end ; body
end ; method
end ; trait