From 2c91caa1dd4ea53dfeb63751d04170d9a9a61474 Mon Sep 17 00:00:00 2001 From: fusion32 Date: Wed, 4 Jun 2025 12:02:51 -0300 Subject: finish most spells --- reference/game.c | 320 +------------------------------------------------------ 1 file changed, 1 insertion(+), 319 deletions(-) (limited to 'reference') diff --git a/reference/game.c b/reference/game.c index 15b71f3..0a5f3af 100644 --- a/reference/game.c +++ b/reference/game.c @@ -20852,325 +20852,7 @@ void __static_initialization_and_destruction_0(int __initialize_p,int __priority return; } -void BanishAccount(TCreature *cr,char *Name,int param_3,char *Reason) - -{ - undefined4 *puVar1; - char *Text; - - if (cr == (TCreature *)0x0) { - Text = &DAT_080fcf40; - } - else if (Name == (char *)0x0) { - Text = &DAT_080fcf00; - } - else if (Reason == (char *)0x0) { - Text = &DAT_080fcec0; - } - else { - if (cr->Type == PLAYER) { - // try { // try from 08087d22 to 08087d60 has its CatchHandler @ 08087d80 - SendMessage(cr->Connection,0x17, - "Spell is not available any more. Press Ctrl+Y for the dialog."); - return; - } - Text = "BanishAccount: Zauberspruch kann nur von Spielern angewendet werden.\n"; - } - error(Text); - puVar1 = (undefined4 *)__cxa_allocate_exception(4); - *puVar1 = 0xffffffff; - // WARNING: Subroutine does not return - __cxa_throw(puVar1,&RESULT::typeinfo,0); -} - - - -void DeleteAccount(TCreature *cr,char *Name,char *Reason) - -{ - undefined4 *puVar1; - char *Text; - - if (cr == (TCreature *)0x0) { - Text = &DAT_080fd060; - } - else if (Name == (char *)0x0) { - Text = &DAT_080fd020; - } - else if (Reason == (char *)0x0) { - Text = &DAT_080fcfe0; - } - else { - if (cr->Type == PLAYER) { - // try { // try from 08087de2 to 08087e20 has its CatchHandler @ 08087e40 - SendMessage(cr->Connection,0x17, - "Spell is not available any more. Press Ctrl+Y for the dialog."); - return; - } - Text = "DeleteAccount: Zauberspruch kann nur von Spielern angewendet werden.\n"; - } - error(Text); - puVar1 = (undefined4 *)__cxa_allocate_exception(4); - *puVar1 = 0xffffffff; - // WARNING: Subroutine does not return - __cxa_throw(puVar1,&RESULT::typeinfo,0); -} - - - -void BanishCharacter(TCreature *cr,char *Name,int param_3,char *Reason) - -{ - undefined4 *puVar1; - char *Text; - - if (cr == (TCreature *)0x0) { - Text = &DAT_080fd180; - } - else if (Name == (char *)0x0) { - Text = &DAT_080fd140; - } - else if (Reason == (char *)0x0) { - Text = &DAT_080fd100; - } - else { - if (cr->Type == PLAYER) { - // try { // try from 08087ea2 to 08087ee0 has its CatchHandler @ 08087f00 - SendMessage(cr->Connection,0x17, - "Spell is not available any more. Press Ctrl+Y for the dialog."); - return; - } - Text = "BanishCharacter: Zauberspruch kann nur von Spielern angewendet werden.\n"; - } - error(Text); - puVar1 = (undefined4 *)__cxa_allocate_exception(4); - *puVar1 = 0xffffffff; - // WARNING: Subroutine does not return - __cxa_throw(puVar1,&RESULT::typeinfo,0); -} - - - -void DeleteCharacter(TCreature *cr,char *Name,char *Reason) - -{ - undefined4 *puVar1; - char *Text; - - if (cr == (TCreature *)0x0) { - Text = &DAT_080fd2a0; - } - else if (Name == (char *)0x0) { - Text = &DAT_080fd260; - } - else if (Reason == (char *)0x0) { - Text = &DAT_080fd220; - } - else { - if (cr->Type == PLAYER) { - // try { // try from 08087f62 to 08087fa0 has its CatchHandler @ 08087fc0 - SendMessage(cr->Connection,0x17, - "Spell is not available any more. Press Ctrl+Y for the dialog."); - return; - } - Text = "DeleteCharacter: Zauberspruch kann nur von Spielern angewendet werden.\n"; - } - error(Text); - puVar1 = (undefined4 *)__cxa_allocate_exception(4); - *puVar1 = 0xffffffff; - // WARNING: Subroutine does not return - __cxa_throw(puVar1,&RESULT::typeinfo,0); -} - - - -void IPBanishment(TCreature *cr,char *Name,char *Reason) - -{ - undefined4 *puVar1; - char *Text; - - if (cr == (TCreature *)0x0) { - Text = &DAT_080fd3c0; - } - else if (Name == (char *)0x0) { - Text = &DAT_080fd380; - } - else if (Reason == (char *)0x0) { - Text = &DAT_080fd340; - } - else { - if (cr->Type == PLAYER) { - // try { // try from 08088022 to 08088060 has its CatchHandler @ 08088080 - SendMessage(cr->Connection,0x17, - "Spell is not available any more. Press Ctrl+Y for the dialog."); - return; - } - Text = "IPBanishment: Zauberspruch kann nur von Spielern angewendet werden.\n"; - } - error(Text); - puVar1 = (undefined4 *)__cxa_allocate_exception(4); - *puVar1 = 0xffffffff; - // WARNING: Subroutine does not return - __cxa_throw(puVar1,&RESULT::typeinfo,0); -} - - - -void SetNameRule(TCreature *cr,char *Name) - -{ - undefined4 *puVar1; - char *Text; - - if (cr == (TCreature *)0x0) { - Text = &DAT_080fd4e0; - } - else if (Name == (char *)0x0) { - Text = &DAT_080fd4a0; - } - else { - if (cr->Type == PLAYER) { - // try { // try from 080880d7 to 08088115 has its CatchHandler @ 08088128 - SendMessage(cr->Connection,0x17,"Spell is not available any more."); - return; - } - Text = "SetNameRule: Zauberspruch kann nur von Spieler angewendet werden.\n"; - } - error(Text); - puVar1 = (undefined4 *)__cxa_allocate_exception(4); - *puVar1 = 0xffffffff; - // WARNING: Subroutine does not return - __cxa_throw(puVar1,&RESULT::typeinfo,0); -} - - - -void KickPlayer(TCreature *cr,char *Name) - -{ - bool bVar1; - int Result; - int iVar2; - undefined4 *puVar3; - char *pcVar4; - TPlayer *local_20; - TPlayer *Opp; - - if (cr == (TCreature *)0x0) { - pcVar4 = &DAT_080fd600; - } - else if (Name == (char *)0x0) { - pcVar4 = &DAT_080fd5c0; - } - else { - if (cr->Type == PLAYER) { - // try { // try from 08088181 to 080882ae has its CatchHandler @ 080882d5 - bVar1 = CheckRight(cr->ID,KICK); - if (!bVar1) { - return; - } - bVar1 = CheckRight(cr->ID,READ_GAMEMASTER_CHANNEL); - iVar2 = IdentifyPlayer(Name,false,!bVar1,&local_20); - if (iVar2 == -1) { - puVar3 = (undefined4 *)__cxa_allocate_exception(4); - *puVar3 = 0x1b; - } - else { - if (iVar2 != -2) { - pcVar4 = (local_20->super_TCreature).Name; - Opp = (TPlayer *)(local_20->super_TCreature).CrObject.ObjectID; - GraphicalEffect((Object *)&Opp,0xf); - TCreature::StartLogout(&local_20->super_TCreature,true,true); - SendMessage(cr->Connection,0x16,"Player %s kicked out of the game.",pcVar4); - Log("banish","%s kickt %s.\n",cr->Name,pcVar4); - return; - } - puVar3 = (undefined4 *)__cxa_allocate_exception(4); - *puVar3 = 0x1c; - } - goto LAB_08088277; - } - pcVar4 = "KickPlayer: Zauberspruch kann nur von Spielern angewendet werden.\n"; - } - error(pcVar4); - puVar3 = (undefined4 *)__cxa_allocate_exception(4); - *puVar3 = 0xffffffff; -LAB_08088277: - // WARNING: Subroutine does not return - __cxa_throw(puVar3,&RESULT::typeinfo,0); -} - - - -void HomeTeleport(TCreature *cr,char *Name) - -{ - bool bVar1; - int Result; - int iVar2; - undefined4 *puVar3; - char *pcVar4; - TPlayer *local_60; - TPlayer *Opp; - Object local_4c [4]; - Object local_3c [4]; - TPlayer *local_2c; - Object Obj; - - if (cr == (TCreature *)0x0) { - pcVar4 = &DAT_080fd740; - } - else if ((Name == (char *)0x0) || (*Name == '\0')) { - pcVar4 = "HomeTeleport: Name existiert nicht.\n"; - } - else { - if (cr->Type == PLAYER) { - // try { // try from 08088340 to 080884dc has its CatchHandler @ 08088503 - bVar1 = CheckRight(cr->ID,HOME_TELEPORT); - if (!bVar1) { - return; - } - bVar1 = CheckRight(cr->ID,READ_GAMEMASTER_CHANNEL); - iVar2 = IdentifyPlayer(Name,false,!bVar1,&local_60); - if (iVar2 == -1) { - puVar3 = (undefined4 *)__cxa_allocate_exception(4); - *puVar3 = 0x1b; - } - else { - if (iVar2 != -2) { - pcVar4 = (local_60->super_TCreature).Name; - local_3c[0].ObjectID = (local_60->super_TCreature).CrObject.ObjectID; - local_2c = (TPlayer *)local_3c[0].ObjectID; - GraphicalEffect(local_3c,3); - local_3c[0].ObjectID = NONE.ObjectID; - GetMapContainer((int)local_4c,(local_60->super_TCreature).startx, - (local_60->super_TCreature).starty); - Opp = local_2c; - Move(0,(Object *)&Opp,local_4c,-1,false,local_3c); - Opp = local_2c; - GraphicalEffect((Object *)&Opp,0xd); - SendMessage(cr->Connection,0x16,"Player %s has been moved to the temple.",pcVar4 - ); - Log("banish","%s teleportiert %s zum Tempel.\n",cr->Name,pcVar4); - return; - } - puVar3 = (undefined4 *)__cxa_allocate_exception(4); - *puVar3 = 0x1c; - } - goto LAB_080884a5; - } - pcVar4 = "HomeTeleport: Zauberspruch kann nur von Spielern angewendet werden.\n"; - } - error(pcVar4); - puVar3 = (undefined4 *)__cxa_allocate_exception(4); - *puVar3 = 0xffffffff; -LAB_080884a5: - // WARNING: Subroutine does not return - __cxa_throw(puVar3,&RESULT::typeinfo,0); -} - - +// MAGIC.CC void SpellFailed(ulong CreatureID) -- cgit v1.2.3