mirror of
https://github.com/OpenFusionProject/OpenFusion.git
synced 2025-11-24 10:10:22 +00:00
Compare commits
110 Commits
refactor
...
4f3aa24d9d
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4f3aa24d9d | ||
|
|
6956782027 | ||
| bd0cc3c212 | |||
| a14354ca4b | |||
| 46296b76e9 | |||
| 1800334bb7 | |||
| c113ea4a6c | |||
| 208a301a48 | |||
| 278818dd37 | |||
|
|
ea033a97dd | ||
| c636c538eb | |||
|
|
d8b63a043e | ||
|
|
f2447cd940 | ||
|
|
97dca62fd0 | ||
| d3bef95a7f | |||
|
|
0eff236512 | ||
|
|
0fcf41cbfe | ||
|
|
efb3887e3e | ||
|
|
874bdefb13 | ||
|
|
94b08659d2 | ||
|
|
d936d0b621 | ||
|
|
249e5b081f | ||
|
|
52c1ed4480 | ||
|
|
522b9ab7b8 | ||
|
|
c0a9ec6b7c | ||
|
|
d416763ae0 | ||
|
|
ff74c8ede1 | ||
|
|
e64bcf91a5 | ||
|
|
b04c292272 | ||
|
|
36b6aeeb00 | ||
|
|
93ec6380c1 | ||
|
|
c1aff8d3c3 | ||
|
|
1cf2be9968 | ||
|
|
dd4063e416 | ||
|
|
464d18820b | ||
|
|
288a4a3da5 | ||
|
|
807e182407 | ||
|
|
0dd628717d | ||
|
|
c70205a15b | ||
|
|
8062e52c55 | ||
|
|
3b5f6c0fe7 | ||
|
|
e9cd5db8a2 | ||
|
|
e7450b974c | ||
|
|
13e71de785 | ||
|
|
e3c3da87b2 | ||
|
|
4bc53b2e7e | ||
|
|
03abb6f830 | ||
|
|
bd1abcef72 | ||
|
|
49fa6d65c4 | ||
|
|
773e4b36e1 | ||
|
|
945599f93c | ||
|
|
78c15e2899 | ||
|
|
eaebe3ba4c | ||
|
|
9312706524 | ||
|
|
80dd6b5479 | ||
|
|
751fd4fd9d | ||
|
|
ec71fd8f46 | ||
|
|
f0bb90b547 | ||
|
|
0dfcc928a9 | ||
|
|
dc6386131a | ||
|
|
9977907842 | ||
|
|
723e455b1d | ||
|
|
ab4b763f00 | ||
|
|
8b94bcd5ca | ||
|
|
1637b8e789 | ||
|
|
da38bbec29 | ||
|
|
a07f36e379 | ||
|
|
afc48b7676 | ||
|
|
15b6cd2fb4 | ||
|
|
34669eb7b9 | ||
|
|
ded7462677 | ||
|
|
704d6a2452 | ||
|
|
98634d5aa2 | ||
|
|
306a75f469 | ||
|
|
e4e4a421f4 | ||
|
|
2f612ce0e1 | ||
|
|
760170af94 | ||
|
|
2f4c8cdd60 | ||
|
|
c8f5aab929 | ||
|
|
9f74b7decb | ||
|
|
eea4107665 | ||
|
|
ad53ec82af | ||
|
|
22c93ac854 | ||
|
|
710300c04c | ||
|
|
04221f1c5f | ||
|
|
828f49cd62 | ||
|
|
4f49bcea87 | ||
|
|
f6094fde58 | ||
|
|
595dcda1b7 | ||
|
|
b6f15824f1 | ||
|
|
35e938b8c6 | ||
|
|
345c9cd3b2 | ||
|
|
68d53feea3 | ||
|
|
45742e90a2 | ||
|
|
69a478b777 | ||
|
|
c32e5b2d5e | ||
|
|
3d572432b3 | ||
|
|
0c4cdaeabf | ||
|
|
ed866fbee4 | ||
|
|
5ab0112298 | ||
| 4494ba5932 | |||
| 803073213e | |||
| 4153d5cd30 | |||
| 71f1f6edb9 | |||
|
|
32fad56d38 | ||
|
|
af7b99195f | ||
|
|
efc00e63b3 | ||
|
|
7ab01b098d | ||
|
|
32db574700 | ||
|
|
c965024d1c |
@@ -72,31 +72,41 @@ static void setValuePlayer(CNSocket* sock, CNPacketData* data) {
|
|||||||
|
|
||||||
// Handle serverside value-changes
|
// Handle serverside value-changes
|
||||||
switch (setData->iSetValueType) {
|
switch (setData->iSetValueType) {
|
||||||
case 1:
|
case CN_GM_SET_VALUE_TYPE__HP:
|
||||||
plr->HP = setData->iSetValue;
|
response.iSetValue = plr->HP = setData->iSetValue;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case CN_GM_SET_VALUE_TYPE__WEAPON_BATTERY :
|
||||||
plr->batteryW = setData->iSetValue;
|
plr->batteryW = setData->iSetValue;
|
||||||
|
|
||||||
// caps
|
// caps
|
||||||
if (plr->batteryW > 9999)
|
if (plr->batteryW > 9999)
|
||||||
plr->batteryW = 9999;
|
plr->batteryW = 9999;
|
||||||
|
|
||||||
|
response.iSetValue = plr->batteryW;
|
||||||
break;
|
break;
|
||||||
case 3:
|
case CN_GM_SET_VALUE_TYPE__NANO_BATTERY:
|
||||||
plr->batteryN = setData->iSetValue;
|
plr->batteryN = setData->iSetValue;
|
||||||
|
|
||||||
// caps
|
// caps
|
||||||
if (plr->batteryN > 9999)
|
if (plr->batteryN > 9999)
|
||||||
plr->batteryN = 9999;
|
plr->batteryN = 9999;
|
||||||
|
|
||||||
|
response.iSetValue = plr->batteryN;
|
||||||
break;
|
break;
|
||||||
case 4:
|
case CN_GM_SET_VALUE_TYPE__FUSION_MATTER:
|
||||||
Missions::updateFusionMatter(sock, setData->iSetValue - plr->fusionmatter);
|
Missions::updateFusionMatter(sock, setData->iSetValue - plr->fusionmatter);
|
||||||
|
response.iSetValue = plr->fusionmatter;
|
||||||
break;
|
break;
|
||||||
case 5:
|
case CN_GM_SET_VALUE_TYPE__CANDY:
|
||||||
plr->money = setData->iSetValue;
|
response.iSetValue = plr->money = setData->iSetValue;
|
||||||
|
break;
|
||||||
|
case CN_GM_SET_VALUE_TYPE__SPEED:
|
||||||
|
case CN_GM_SET_VALUE_TYPE__JUMP:
|
||||||
|
response.iSetValue = setData->iSetValue;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
response.iPC_ID = setData->iPC_ID;
|
response.iPC_ID = setData->iPC_ID;
|
||||||
response.iSetValue = setData->iSetValue;
|
|
||||||
response.iSetValueType = setData->iSetValueType;
|
response.iSetValueType = setData->iSetValueType;
|
||||||
|
|
||||||
sock->sendPacket(response, P_FE2CL_GM_REP_PC_SET_VALUE);
|
sock->sendPacket(response, P_FE2CL_GM_REP_PC_SET_VALUE);
|
||||||
|
|||||||
@@ -359,23 +359,19 @@ static void npcRotateCommand(std::string full, std::vector<std::string>& args, C
|
|||||||
int angle = (plr->angle + 180) % 360;
|
int angle = (plr->angle + 180) % 360;
|
||||||
NPCManager::updateNPCPosition(npc->id, npc->x, npc->y, npc->z, npc->instanceID, angle);
|
NPCManager::updateNPCPosition(npc->id, npc->x, npc->y, npc->z, npc->instanceID, angle);
|
||||||
|
|
||||||
// if it's a gruntwork NPC, rotate in-place
|
bool isGruntworkNpc = true;
|
||||||
if (TableData::RunningMobs.find(npc->id) != TableData::RunningMobs.end()) {
|
|
||||||
NPCManager::updateNPCPosition(npc->id, npc->x, npc->y, npc->z, npc->instanceID, angle);
|
|
||||||
|
|
||||||
Chat::sendServerMessage(sock, "[NPCR] Successfully set angle to " + std::to_string(angle) + " for gruntwork NPC "
|
// add a rotation entry to the gruntwork file, unless it's already a gruntwork NPC
|
||||||
+ std::to_string(npc->id));
|
if (TableData::RunningMobs.find(npc->id) == TableData::RunningMobs.end()) {
|
||||||
} else {
|
|
||||||
TableData::RunningNPCRotations[npc->id] = angle;
|
TableData::RunningNPCRotations[npc->id] = angle;
|
||||||
|
isGruntworkNpc = false;
|
||||||
Chat::sendServerMessage(sock, "[NPCR] Successfully set angle to " + std::to_string(angle) + " for NPC "
|
|
||||||
+ std::to_string(npc->id));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// update rotation clientside
|
Chat::sendServerMessage(sock, "[NPCR] Successfully set angle to " + std::to_string(angle) +
|
||||||
INITSTRUCT(sP_FE2CL_NPC_ENTER, pkt);
|
" for " + (isGruntworkNpc ? "gruntwork " : "") + "NPC " + std::to_string(npc->id));
|
||||||
pkt.NPCAppearanceData = npc->getAppearanceData();
|
|
||||||
sock->sendPacket(pkt, P_FE2CL_NPC_ENTER);
|
// update rotation clientside by refreshing the player's chunks (same as the /refresh command)
|
||||||
|
PlayerManager::updatePlayerPositionForWarp(sock, plr->x, plr->y, plr->z, plr->instanceID);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void refreshCommand(std::string full, std::vector<std::string>& args, CNSocket* sock) {
|
static void refreshCommand(std::string full, std::vector<std::string>& args, CNSocket* sock) {
|
||||||
|
|||||||
Reference in New Issue
Block a user