aboutsummaryrefslogtreecommitdiff
path: root/Northstar.CustomServers/mod/scripts/vscripts/class/ctitansoul.nut
diff options
context:
space:
mode:
authorBobTheBob <32057864+BobTheBob9@users.noreply.github.com>2021-08-31 23:14:58 +0100
committerBobTheBob <32057864+BobTheBob9@users.noreply.github.com>2021-08-31 23:14:58 +0100
commit9a96d0bff56f1969c68bb52a2f33296095bdc67d (patch)
tree4175928e488632705692e3cccafa1a38dd854615 /Northstar.CustomServers/mod/scripts/vscripts/class/ctitansoul.nut
parent27bd240871b7c0f2f49fef137718b2e3c208e3b4 (diff)
downloadNorthstarMods-9a96d0bff56f1969c68bb52a2f33296095bdc67d.tar.gz
NorthstarMods-9a96d0bff56f1969c68bb52a2f33296095bdc67d.zip
move to new mod format
Diffstat (limited to 'Northstar.CustomServers/mod/scripts/vscripts/class/ctitansoul.nut')
-rw-r--r--Northstar.CustomServers/mod/scripts/vscripts/class/ctitansoul.nut50
1 files changed, 50 insertions, 0 deletions
diff --git a/Northstar.CustomServers/mod/scripts/vscripts/class/ctitansoul.nut b/Northstar.CustomServers/mod/scripts/vscripts/class/ctitansoul.nut
new file mode 100644
index 00000000..6f5ddb3e
--- /dev/null
+++ b/Northstar.CustomServers/mod/scripts/vscripts/class/ctitansoul.nut
@@ -0,0 +1,50 @@
+untyped
+
+global function CodeCallback_RegisterClass_CTitanSoul
+
+function CodeCallback_RegisterClass_CTitanSoul()
+{
+ CTitanSoul.ClassName <- "CTitanSoul"
+
+ // all soul-specific vars should be created here
+ CTitanSoul.lastAttackInfo <- null
+ CTitanSoul.hijackProgress <- null
+ CTitanSoul.lastHijackTime <- null
+ CTitanSoul.capturable <- null
+ CTitanSoul.followOnly <- null
+ CTitanSoul.passives <- null
+ CTitanSoul.createTime <- null
+ CTitanSoul.rodeoRiderTracker <- null
+ CTitanSoul.doomedTime <- null
+ CTitanSoul.nextRegenTime <- 0.0
+ CTitanSoul.nextHealthRegenTime <- 0.0
+ CTitanSoul.rodeoReservedSlots <- null
+
+ // the functions below should not change
+
+ function CTitanSoul::constructor()
+ {
+ CBaseEntity.constructor()
+
+ this.lastAttackInfo = { time = 0 }
+ this.passives = arrayofsize( GetNumPassives(), false )
+ this.createTime = Time()
+ this.doomedTime = null
+ this.rodeoRiderTracker = {} // all players that rode this titan, so they cant get multiple score events
+ this.capturable = false
+ this.followOnly = false
+ this.rodeoReservedSlots = arrayofsize( PROTOTYPE_DEFAULT_TITAN_RODEO_SLOTS, null ) //hardcoded 3 slots for now!
+ }
+
+
+ // function SoulDeath()
+ function CTitanSoul::SoulDestroy()
+ {
+ // transfer the soul away from the last owner
+ entity titan = expect entity( this.GetTitan() )
+ foreach ( func in svGlobal.soulTransferFuncs )
+ {
+ func( expect entity( this ), null, titan )
+ }
+ }
+}