diff --git a/Templates/BaseGame/game/data/DamageModel/DamageModel.tscript b/Templates/BaseGame/game/data/DamageModel/DamageModel.tscript index 76517799e..adbda2e33 100644 --- a/Templates/BaseGame/game/data/DamageModel/DamageModel.tscript +++ b/Templates/BaseGame/game/data/DamageModel/DamageModel.tscript @@ -10,6 +10,13 @@ function DamageModel::onDestroy(%this) function DamageModel::initServer(%this) { %this.queueExec("./scripts/server/player"); +} + +//This is called when the server is created for an actual game/map to be played +function DamageModel::onCreateGameServer(%this) +{ + %this.registerDatablock("./scripts/managedData/managedParticleData"); + %this.registerDatablock("./scripts/managedData/managedParticleEmitterData"); %this.queueExec("./scripts/server/utility"); %this.queueExec("./scripts/server/radiusDamage"); %this.queueExec("./scripts/server/projectile"); diff --git a/Templates/BaseGame/game/data/DamageModel/scripts/server/player.tscript b/Templates/BaseGame/game/data/DamageModel/scripts/server/player.tscript index bbd354230..9b4802423 100644 --- a/Templates/BaseGame/game/data/DamageModel/scripts/server/player.tscript +++ b/Templates/BaseGame/game/data/DamageModel/scripts/server/player.tscript @@ -17,6 +17,11 @@ function PlayerData::damage(%this, %obj, %sourceObject, %position, %damage, %dam %damageLoc = "body"; if (%damageType !$= "Suicide") { %getDamageLoc = %obj.getDamageLocation(%position); + + %this.setDamageDirection(%rootObj, %sourceObject, %position); + + if (%damageType !$= "Suicide") { + %getDamageLoc = %rootObj.getDamageLocation(%position); %damageLoc = firstWord(%getDamageLoc); }