mirror of
				https://github.com/DarkflameUniverse/DarkflameServer.git
				synced 2025-10-31 20:52:01 +00:00 
			
		
		
		
	Merge pull request #445 from EmosewaMC/explodingDummyFix
Implemented script for exploding dummy in Nexus Tower Combat Training
This commit is contained in:
		| @@ -181,6 +181,7 @@ | |||||||
| #include "NtVentureCannonServer.h" | #include "NtVentureCannonServer.h" | ||||||
| #include "NtCombatChallengeServer.h" | #include "NtCombatChallengeServer.h" | ||||||
| #include "NtCombatChallengeDummy.h" | #include "NtCombatChallengeDummy.h" | ||||||
|  | #include "NtCombatChallengeExplodingDummy.h" | ||||||
| #include "BaseInteractDropLootServer.h" | #include "BaseInteractDropLootServer.h" | ||||||
| #include "NtAssemblyTubeServer.h" | #include "NtAssemblyTubeServer.h" | ||||||
| #include "NtParadoxPanelServer.h" | #include "NtParadoxPanelServer.h" | ||||||
| @@ -615,6 +616,8 @@ CppScripts::Script* CppScripts::GetScript(Entity* parent, const std::string& scr | |||||||
| 		script = new NtCombatChallengeServer(); | 		script = new NtCombatChallengeServer(); | ||||||
| 	else if (scriptName == "scripts\\02_server\\Map\\NT\\L_NT_COMBAT_CHALLENGE_DUMMY.lua") | 	else if (scriptName == "scripts\\02_server\\Map\\NT\\L_NT_COMBAT_CHALLENGE_DUMMY.lua") | ||||||
| 		script = new NtCombatChallengeDummy(); | 		script = new NtCombatChallengeDummy(); | ||||||
|  | 	else if (scriptName == "scripts\\02_server\\Map\\NT\\\\L_NT_COMBAT_EXPLODING_TARGET.lua") | ||||||
|  | 		script = new NtCombatChallengeExplodingDummy(); | ||||||
| 	else if (scriptName == "scripts\\02_server\\Map\\General\\L_BASE_INTERACT_DROP_LOOT_SERVER.lua") | 	else if (scriptName == "scripts\\02_server\\Map\\General\\L_BASE_INTERACT_DROP_LOOT_SERVER.lua") | ||||||
| 		script = new BaseInteractDropLootServer(); | 		script = new BaseInteractDropLootServer(); | ||||||
| 	else if (scriptName == "scripts\\02_server\\Map\\NT\\L_NT_ASSEMBLYTUBE_SERVER.lua") | 	else if (scriptName == "scripts\\02_server\\Map\\NT\\L_NT_ASSEMBLYTUBE_SERVER.lua") | ||||||
|   | |||||||
							
								
								
									
										38
									
								
								dScripts/NtCombatChallengeExplodingDummy.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								dScripts/NtCombatChallengeExplodingDummy.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,38 @@ | |||||||
|  | #include "NtCombatChallengeExplodingDummy.h" | ||||||
|  | #include "NtCombatChallengeDummy.h" | ||||||
|  | #include "EntityManager.h" | ||||||
|  | #include "SkillComponent.h" | ||||||
|  |  | ||||||
|  | void NtCombatChallengeExplodingDummy::OnDie(Entity* self, Entity* killer)  | ||||||
|  | { | ||||||
|  |     const auto challengeObjectID = self->GetVar<LWOOBJID>(u"challengeObjectID"); | ||||||
|  |  | ||||||
|  |     auto* challengeObject = EntityManager::Instance()->GetEntity(challengeObjectID); | ||||||
|  |  | ||||||
|  |     if (challengeObject != nullptr) | ||||||
|  |     { | ||||||
|  |         for (CppScripts::Script* script : CppScripts::GetEntityScripts(challengeObject)) | ||||||
|  |         { | ||||||
|  |             script->OnDie(challengeObject, killer); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | void NtCombatChallengeExplodingDummy::OnHitOrHealResult(Entity* self, Entity* attacker, int32_t damage) { | ||||||
|  |     const auto challengeObjectID = self->GetVar<LWOOBJID>(u"challengeObjectID"); | ||||||
|  |  | ||||||
|  |     auto* challengeObject = EntityManager::Instance()->GetEntity(challengeObjectID); | ||||||
|  |  | ||||||
|  |     if (challengeObject != nullptr) | ||||||
|  |     { | ||||||
|  |         for (CppScripts::Script* script : CppScripts::GetEntityScripts(challengeObject)) | ||||||
|  |         { | ||||||
|  |             script->OnHitOrHealResult(challengeObject, attacker, damage); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |     auto skillComponent = self->GetComponent<SkillComponent>(); | ||||||
|  |     if (skillComponent != nullptr) { | ||||||
|  |         skillComponent->CalculateBehavior(1338, 30875, attacker->GetObjectID()); | ||||||
|  |     } | ||||||
|  |     self->Kill(attacker); | ||||||
|  | } | ||||||
							
								
								
									
										8
									
								
								dScripts/NtCombatChallengeExplodingDummy.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								dScripts/NtCombatChallengeExplodingDummy.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | |||||||
|  | #pragma once | ||||||
|  | #include "CppScripts.h" | ||||||
|  |  | ||||||
|  | class NtCombatChallengeExplodingDummy : public CppScripts::Script | ||||||
|  | { | ||||||
|  |     void OnDie(Entity* self, Entity* killer) override; | ||||||
|  |     void OnHitOrHealResult(Entity* self, Entity* attacker, int32_t damage) override; | ||||||
|  | }; | ||||||
		Reference in New Issue
	
	Block a user
	 Jett
					Jett