From 0b63e6a0bf6ef29fe95853ef724cc8b7ef460147 Mon Sep 17 00:00:00 2001 From: GokuWeedLord Date: Mon, 11 Dec 2017 22:21:37 +1100 Subject: [PATCH] use references to actor in script, name scripts better --- .../skill/{Action3.cpp => ActionSprint.cpp} | 8 ++--- scripts/native/statuseffect/Status50.cpp | 29 ------------------- scripts/native/statuseffect/StatusSprint.cpp | 10 +++++++ .../Server_Zone/Script/NativeScriptApi.h | 22 +++++++------- .../Server_Zone/Script/ScriptManager.cpp | 14 ++++----- 5 files changed, 32 insertions(+), 51 deletions(-) rename scripts/native/skill/{Action3.cpp => ActionSprint.cpp} (54%) delete mode 100644 scripts/native/statuseffect/Status50.cpp create mode 100644 scripts/native/statuseffect/StatusSprint.cpp diff --git a/scripts/native/skill/Action3.cpp b/scripts/native/skill/ActionSprint.cpp similarity index 54% rename from scripts/native/skill/Action3.cpp rename to scripts/native/skill/ActionSprint.cpp index c1fe49f3..bfc3222e 100644 --- a/scripts/native/skill/Action3.cpp +++ b/scripts/native/skill/ActionSprint.cpp @@ -1,15 +1,15 @@ #include "../ScriptObject.h" -class Action3 : public ActionScript +class ActionSprint : public ActionScript { public: - Action3() : ActionScript( "ActionScript3", 3 ) + ActionSprint() : ActionScript( "ActionSprint", 3 ) {} - virtual void onCastFinish( Core::Entity::Player& player, Core::Entity::ActorPtr targetActor ) + virtual void onCastFinish( Core::Entity::Player& player, Core::Entity::Actor& targetActor ) { player.addStatusEffectByIdIfNotExist( 50, 20000, player, 30 ); } }; -EXPORT_ACTIONSCRIPT( Action3 ) \ No newline at end of file +EXPORT_ACTIONSCRIPT( ActionSprint ) \ No newline at end of file diff --git a/scripts/native/statuseffect/Status50.cpp b/scripts/native/statuseffect/Status50.cpp deleted file mode 100644 index da9d6bd0..00000000 --- a/scripts/native/statuseffect/Status50.cpp +++ /dev/null @@ -1,29 +0,0 @@ -#include "../ScriptObject.h" - -class Status50 : public StatusEffectScript -{ -public: - Status50() : StatusEffectScript( "StatusEffect50", 50 ) - {} - - virtual void onTick( Core::Entity::ActorPtr actor ) - { - if( actor->isPlayer() ) - actor->getAsPlayer()->sendDebug( "tick tock bitch" ); - } - - virtual void onApply( Entity::ActorPtr actor ) - { - if( actor->isPlayer() ) - actor->getAsPlayer()->sendDebug( "status50 applied" ); - } - - virtual void onExpire( Entity::ActorPtr actor ) - { - if( actor->isPlayer() ) - actor->getAsPlayer()->sendDebug( "status50 timed out" ); - } - -}; - -EXPORT_STATUSEFFECTSCRIPT( Status50 ) \ No newline at end of file diff --git a/scripts/native/statuseffect/StatusSprint.cpp b/scripts/native/statuseffect/StatusSprint.cpp new file mode 100644 index 00000000..2839e46f --- /dev/null +++ b/scripts/native/statuseffect/StatusSprint.cpp @@ -0,0 +1,10 @@ +#include "../ScriptObject.h" + +class StatusSprint : public StatusEffectScript +{ +public: + StatusSprint() : StatusEffectScript( "StatusSprint", 50 ) + {} +}; + +EXPORT_STATUSEFFECTSCRIPT( StatusSprint ) \ No newline at end of file diff --git a/src/servers/Server_Zone/Script/NativeScriptApi.h b/src/servers/Server_Zone/Script/NativeScriptApi.h index be766101..b451731c 100644 --- a/src/servers/Server_Zone/Script/NativeScriptApi.h +++ b/src/servers/Server_Zone/Script/NativeScriptApi.h @@ -55,14 +55,14 @@ public: ScriptObject( name, effectId ) { } - virtual void onTick( Entity::ActorPtr actor ) { } - virtual void onApply( Entity::ActorPtr actor ) { } - virtual void onRemove( Entity::ActorPtr actor ) { } - virtual void onExpire(Entity::ActorPtr actor) { } - virtual void onPlayerCollision( Entity::ActorPtr actor, Entity::ActorPtr actorHit ) { } - virtual void onPlayerFinishCast( Entity::ActorPtr actor ) { } - virtual void onPlayerDamaged( Entity::ActorPtr actor ) { } - virtual void onPlayerDeath( Entity::ActorPtr actor ) { } + virtual void onTick( Entity::Actor& actor ) { } + virtual void onApply( Entity::Actor& actor ) { } + virtual void onRemove( Entity::Actor& actor ) { } + virtual void onExpire( Entity::Actor& actor ) { } + virtual void onPlayerCollision( Entity::Actor& actor, Entity::Actor& actorHit ) { } + virtual void onPlayerFinishCast( Entity::Actor& actor ) { } + virtual void onPlayerDamaged( Entity::Actor& actor ) { } + virtual void onPlayerDeath( Entity::Actor& actor ) { } }; @@ -73,9 +73,9 @@ public: ScriptObject( name, abilityId ) { } - virtual void onStart( Entity::Actor sourceActor, Entity::ActorPtr targetActor ) { } - virtual void onCastFinish( Entity::Player& player, Entity::ActorPtr targetActor ) { } - virtual void onInterrupt( Entity::ActorPtr sourceActor/*, Core::Entity::Actor targetActor*/ ) { } + virtual void onStart( Entity::Actor& sourceActor, Entity::Actor& targetActor ) { } + virtual void onCastFinish( Entity::Player& player, Entity::Actor& targetActor ) { } + virtual void onInterrupt( Entity::Actor& sourceActor/*, Core::Entity::Actor targetActor*/ ) { } }; diff --git a/src/servers/Server_Zone/Script/ScriptManager.cpp b/src/servers/Server_Zone/Script/ScriptManager.cpp index 9603554d..183daa84 100644 --- a/src/servers/Server_Zone/Script/ScriptManager.cpp +++ b/src/servers/Server_Zone/Script/ScriptManager.cpp @@ -388,7 +388,7 @@ bool Core::Scripting::ScriptManager::onCastFinish( Entity::Player& player, Entit auto script = m_nativeScriptHandler->getAbilityScript( actionId ); if( script ) - script->onCastFinish( player, pTarget ); + script->onCastFinish( player, *pTarget ); return true; } @@ -399,9 +399,9 @@ bool Core::Scripting::ScriptManager::onStatusReceive( Entity::ActorPtr pActor, u if( script ) { if( pActor->isPlayer() ) - pActor->getAsPlayer()->sendDebug( "Calling status recieve for statusid: " + effectId ); + pActor->getAsPlayer()->sendDebug( "Calling status receive for statusid: " + std::to_string( effectId ) ); - script->onApply( pActor ); + script->onApply( *pActor ); return true; } @@ -415,9 +415,9 @@ bool Core::Scripting::ScriptManager::onStatusTick( Entity::ActorPtr pActor, Core if( script ) { if( pActor->isPlayer() ) - pActor->getAsPlayer()->sendDebug( "Calling status tick for statusid: " + effect.getId() ); + pActor->getAsPlayer()->sendDebug( "Calling status tick for statusid: " + std::to_string( effect.getId() ) ); - script->onTick( pActor ); + script->onTick( *pActor ); return true; } @@ -431,9 +431,9 @@ bool Core::Scripting::ScriptManager::onStatusTimeOut( Entity::ActorPtr pActor, u if( script ) { if( pActor->isPlayer() ) - pActor->getAsPlayer()->sendDebug( "Calling status tick for statusid: " + effectId ); + pActor->getAsPlayer()->sendDebug( "Calling status timeout for statusid: " + std::to_string( effectId ) ); - script->onExpire( pActor ); + script->onExpire( *pActor ); return true; }