📄 objbase.pas
字号:
m_boAbilMagBubbleDefence :Boolean; //0x35C //魔法盾
m_btMagBubbleDefenceLevel :Byte; //0x35D
m_dwSearchTime :LongWord; //0x360
m_dwSearchTick :LongWord; //0x364
m_dwRunTick :LongWord; //0x368
m_nRunTime :Integer; //0x36C
m_nHealthTick :Integer; //0x370 //特别指定为 此类型 此处用到 004C7CF8
m_nSpellTick :Integer; //0x374
m_TargetCret :TBaseObject; //0x378
m_dwTargetFocusTick :LongWord; //0x37C
m_LastHiter :TBaseObject; //0x380 人物被对方杀害时对方指针(Dword)
m_LastHiterTick :LongWord; //0x384
m_ExpHitter :TBaseObject; //0x388
m_ExpHitterTick :LongWord; //0x38C
m_dwTeleportTick :LongWord; //0x390 传送戒指使用间隔(Dword)
m_dwProbeTick :LongWord; //0x394 探测项链使用间隔(Dword)
m_dwMapMoveTick :LongWord; //0x398
m_boPKFlag :Boolean; //0x39C 人物攻击变色标志(Byte)
m_dwPKTick :LongWord; //0x3A0 人物攻击变色时间长度(Dword)
m_nMoXieSuite :Integer; //0x3A4 魔血一套(Dword)
m_nHongMoSuite :Integer; //0x3A8 虹魔一套(Dword)
m_n3AC :Integer; //0x3AC
m_db3B0 :Double; //0x3B0
m_dwPoisoningTick :LongWord; //0x3B8 中毒处理间隔时间(Dword)
m_dwDecPkPointTick :LongWord; //0x3BC 减PK值时间(Dword)
m_DecLightItemDrugTick :LongWord; //0x3C0
m_dwVerifyTick :LongWord; //0x3C4
m_dwCheckRoyaltyTick :LongWord; //0x3C8
m_dwDecHungerPointTick :LongWord; //0x3CC
m_dwHPMPTick :LongWord; //0x3D0
m_MsgList :TList; //0x3D4
m_VisibleHumanList :TList; //0x3D8
m_VisibleItems :TList; //0x3DC
m_VisibleEvents :TList; //0x3E0
m_SendRefMsgTick :LongWord; //0x3E4
m_boInFreePKArea :Boolean; //0x3E8 是否在开行会战(Byte)
LIst_3EC :TList; //0x3EC
dwTick3F0 :LongWord; //0x3F0
dwTick3F4 :LongWord; //0x3F4
m_dwHitTick :LongWord; //0x3F8
m_dwWalkTick :LongWord; //0x3FC
m_dwSearchEnemyTick :LongWord; //0x400
m_boNameColorChanged :Boolean; //0x404
m_boIsVisibleActive :Boolean; //是否在可视范围内有人物,及宝宝
m_nProcessRunCount :ShortInt;
m_VisibleActors :TList; //0x408
m_ItemList :TList; //0x40C 人物背包(Dword)数量
m_DealItemList :TList; //0x410
m_nDealGolds :Integer; //0x414 交易的金币数量(Dword)
m_boDealOK :Boolean; //0x418 确认交易标志(Byte
m_MagicList :TList; //0x41C 技能表
m_UseItems :THumanUseItems; //0x420 + D8 -> 4F8
m_SayMsgList :TList;
m_StorageItemList :TList; //0x4F8
m_nWalkSpeed :Integer; //0x4FC
m_nWalkStep :Integer; //0x500
m_nWalkCount :Integer; //0x504
m_dwWalkWait :LongWord; //0x508
m_dwWalkWaitTick :LongWord; //0x50C
m_boWalkWaitLocked :Boolean; //0x510
m_nNextHitTime :Integer; //0x514
m_MagicOneSwordSkill :pTUserMagic; //0x518
m_MagicPowerHitSkill :pTUserMagic; //0x51C
m_MagicErgumSkill :pTUserMagic; //0x520 刺杀剑法
m_MagicBanwolSkill :pTUserMagic; //0x524 半月弯刀
m_MagicRedBanwolSkill :pTUserMagic;
m_MagicFireSwordSkill :pTUserMagic; //0x528
m_MagicCrsSkill :pTUserMagic; //0x528
m_Magic41Skill :pTUserMagic; //0x528
m_MagicTwnHitSkill :pTUserMagic; //0x528
m_Magic43Skill :pTUserMagic; //0x528
m_boPowerHit :Boolean; //0x52C
m_boUseThrusting :Boolean; //0x52D
m_boUseHalfMoon :Boolean; //0x52E
m_boRedUseHalfMoon :Boolean;
m_boFireHitSkill :Boolean; //0x52F
m_boCrsHitkill :Boolean;
m_bo41kill :Boolean;
m_boTwinHitSkill :Boolean;
m_bo43kill :Boolean;
m_dwLatestFireHitTick :LongWord; //0x530
m_dwDoMotaeboTick :LongWord; //0x534
m_dwLatestTwinHitTick :LongWord;
m_boDenyRefStatus :Boolean;//是否刷新在地图上信息;
m_boAddToMaped :Boolean; //是否增加地图计数
m_boDelFormMaped :Boolean; //是否从地图中删除计数
m_boAutoChangeColor :Boolean;
m_dwAutoChangeColorTick :LongWord;
m_nAutoChangeIdx :Integer;
m_boFixColor :Boolean; //固定颜色
m_nFixColorIdx :Integer;
m_nFixStatus :Integer;
m_boFastParalysis :Boolean; //快速麻痹,受攻击后麻痹立即消失
m_boSmashSet :Boolean;
m_boHwanDevilSet :Boolean;
m_boPuritySet :Boolean;
m_boMundaneSet :Boolean;
m_boNokChiSet :Boolean;
m_boTaoBuSet :Boolean;
m_boFiveStringSet :Boolean;
m_boNastyMode :Boolean;
private
function GetLevelExp(nLevel: Integer): LongWord;
function InSafeArea: Boolean;
procedure UpdateVisibleGay(BaseObject:TBaseObject);virtual;
function Walk(nIdent:Integer): Boolean;
function AddToMap():Boolean;
procedure UseLamp();
procedure CheckPKStatus();
procedure UpdateVisibleItem(wX,wY:Integer;MapItem:PTMapItem);
procedure UpdateVisibleEvent(wX,wY:Integer;MapEvent:TObject);
function RecalcBagWeight():Integer;
procedure RecalcHitSpeed();
procedure DecPKPoint(nPoint:Integer);
function GetCharColor(BaseObject:TBaseObject):Byte;
function GetNamecolor: Byte;
procedure SendUpdateDelayMsg(BaseObject: TBaseObject; wIdent, wParam: Word;
lParam1, lParam2, lParam3: Integer; sMsg: String; dwDelay: LongWord);
procedure LeaveGroup();
procedure DelMember(BaseObject:TBaseObject);
procedure HearMsg(sMsg:String);
procedure AttackDir(TargeTBaseObject:TBaseObject;wHitMode:Word;nDir:Integer);virtual;
procedure DamageSpell(nSpellPoint:Integer);
procedure DoDamageWeapon(nWeaponDamage:Integer);
function GetFeatureEx: Word;
public
constructor Create();virtual;
destructor Destroy; override;
procedure SendMsg(BaseObject:TBaseObject;wIdent,wParam:Word;nParam1,nParam2,nParam3:Integer;sMsg:String);
procedure SendFirstMsg(BaseObject:TBaseObject;wIdent,wParam:Word;lParam1,lParam2,lParam3:Integer;sMsg:String);
procedure SendDelayMsg(BaseObject:TBaseObject;wIdent,wParam:Word;lParam1,lParam2,lParam3:Integer;sMsg:String;dwDelay:LongWord);
procedure SendRefMsg(wIdent,wParam:Word;nParam1,nParam2,nParam3:Integer;sMsg:String);
procedure SendUpdateMsg(BaseObject: TBaseObject; wIdent, wParam: Word; lParam1,lParam2, lParam3: Integer; sMsg: String);
procedure SendActionMsg(BaseObject: TBaseObject; wIdent, wParam: Word;
lParam1, lParam2, lParam3: Integer; sMsg: String);
procedure SendAttackMsg(wIdent:Word;btDir:Byte;nX,nY:Integer);
procedure SysMsg(sMsg:String;MsgColor:TMsgColor;MsgType:TMsgType);
procedure SendGroupText(sMsg:String);
procedure MonsterSayMsg(AttackBaseObject:TBaseObject;MonStatus:TMonStatus);
function IsVisibleHuman():Boolean;
procedure RecalcLevelAbilitys;
function PKLevel():Integer;
function InSafeZone():Boolean;OverLoad;
function InSafeZone(Envir:TEnvirnoment;nX,nY:Integer):Boolean;OverLoad;
procedure OpenHolySeizeMode(dwInterval:LongWord);
procedure BreakHolySeizeMode;
procedure OpenCrazyMode(nTime:Integer);
procedure BreakCrazyMode();
procedure HealthSpellChanged();
function _Attack(var wHitMode:Word;AttackTarget:TBaseObject):Boolean;
function GetHitStruckDamage(Target:TBaseObject;nDamage:integer):Integer;
procedure HasLevelUp(nLevel: Integer);
procedure sub_4BC87C();
procedure GoldChanged();
procedure GameGoldChanged;
function GetGuildRelation (cert1:TBaseObject; cert2:TBaseObject):Integer;
function IsGoodKilling(cert:TBaseObject):Boolean;
procedure IncPkPoint(nPoint:Integer);
procedure AddBodyLuck(dLuck:Double);
procedure MakeWeaponUnlock();
procedure ScatterGolds(GoldOfCreat:TBaseObject);
function DropGoldDown (nGold:Integer;boFalg:Boolean;GoldOfCreat,DropGoldCreat:TBaseObject):Boolean;
function DropItemDown(UserItem: pTUserItem; nScatterRange:Integer;boDieDrop:Boolean;ItemOfCreat,DropCreat:TBaseObject): Boolean;
procedure DamageHealth(nDamage:Integer);
function GetAttackPower(nBasePower, nPower: Integer): Integer;
function CharPushed(nDir,nPushCount:Integer): Integer;
function GetDropPosition (nOrgX,nOrgY,nRange:Integer;var nDX:Integer;var nDY:Integer):Boolean;
function GetBackDir(nDir: integer): Integer;
function GetMapBaseObjects (tEnvir:TEnvirnoment;nX,nY:Integer;nRage:Integer;rList:TList):Boolean;
function MagPassThroughMagic(sx, sy, tx, ty, ndir, magpwr: integer;
undeadattack: Boolean): integer;
procedure KickException;
function GetMagStruckDamage(BaseObject:TBaseObject;nDamage:Integer):Integer;
procedure DamageBubbleDefence(nInt:Integer);
procedure BreakOpenHealth;
function GetCharStatus: Integer;
procedure MakeOpenHealth;
procedure IncHealthSpell(nHP, nMP: Integer);
procedure ItemDamageRevivalRing;
function CalcGetExp(nLevel: Integer;nExp:Integer): Integer;
procedure GainSlaveExp(nLevel: Integer);
procedure MapRandomMove(sMapName:String;nInt:Integer);
procedure TurnTo(nDir:integer);
procedure FeatureChanged();
function GetFeatureToLong():Integer;
function GetPoseCreate():TBaseObject;
function GetFeature(BaseObject: TBaseObject):Integer;
function IsGroupMember(target: TBaseObject): Boolean;
procedure AbilCopyToWAbil();
procedure ChangePKStatus(boWarFlag: Boolean);
procedure StruckDamage(nDamage:integer);
function sub_4C4CD4(sItemName:String;var nCount:Integer):pTUserItem;
procedure StatusChanged;
function GeTBaseObjectInfo():String;
procedure TrainSkill(UserMagic:pTUserMagic;nTranPoint:Integer);
function CheckMagicLevelup(UserMagic:pTUserMagic):Boolean;
function MagCanHitTarget(nX,nY:Integer;TargeTBaseObject:TBaseObject):Boolean;
procedure sub_4C713C(Magic: pTUserMagic);
function MagBubbleDefenceUp(nLevel,nSec:Integer):Boolean;
procedure ApplyMeatQuality();
function TakeBagItems(BaseObject:TBaseObject):Boolean;
function AddItemToBag(UserItem: PTUserItem): Boolean;
function DelBagItem(nIndex:Integer):Boolean;overload;
function DelBagItem(nItemIndex:Integer;sItemName:String):Boolean;overload;
procedure WeightChanged();
function IsTrainingSkill(nIndex:Integer):Boolean;
procedure SetQuestFlagStatus(nFlag:Integer;nValue:Integer);
function GetQuestFalgStatus(nFlag:integer):Integer;
procedure SetQuestUnitOpenStatus(nFlag:Integer;nValue:Integer);
function GetQuestUnitOpenStatus(nFlag:integer):Integer;
procedure SetQuestUnitStatus(nFlag:Integer;nValue:Integer);
function GetQuestUnitStatus(nFlag:integer):Integer;
function GetAttackDir(BaseObject:TBaseObject;var btDir:Byte):Boolean;
function TargetInSpitRange(BaseObject:TBaseObject;var btDir:Byte):Boolean;
procedure MonsterRecalcAbilitys();
procedure RefNameColor;
procedure SetPKFlag(BaseObject:TBaseObject);
procedure SetLastHiter(BaseObject:TBaseObject);
function EnterAnotherMap(Envir:TEnvirnoment;nDMapX,nDMapY:Integer):Boolean;
function sub_4DD704():Boolean;
function DefenceUp(nSec:Integer):Boolean;
function MagDefenceUp(nSec:Integer):Boolean;
function AttPowerUp(nPower, nTime: Integer): Boolean;
function SCPowerUp(nSec:Integer):Boolean;
procedure RefShowName;
function MakeSlave(sMonName:String;nMakeLevel,nExpLevel,nMaxMob:Integer;dwRoyaltySec:LongWord):TBaseObject;
function MakePosion(nType,nTime,nPoint:Integer):Boolean;
function GetFrontPosition(var nX: Integer; var nY: Integer):Boolean;
function GetBackPosition(var nX:Integer;var nY:Integer):Boolean;
function WalkTo(btDir: Byte;boFlag:boolean): Boolean;
procedure SpaceMove(sMap: String; nX, nY: Integer; nInt:Integer);
function sub_4C5370(nX, nY:Integer;nRange: Integer;var nDX, nDY:Integer):Boolean;
function CheckItems(sItemName:String):pTUserItem;
function MagMakeDefenceArea(nX,nY,nRange,nSec:Integer;btState:Byte):Integer;
function sub_4C3538():Integer;
function IsGuildMaster():Boolean;
procedure LoadSayMsg();
procedure DisappearA();
function GetShowName():String;virtual;
procedure DropUseItems(BaseObject:TBaseObject); virtual;
procedure ScatterBagItems(ItemOfCreat:TBaseObject); virtual;
function GetMessage(Msg:pTProcessMessage):Boolean;virtual; //FFFF
procedure Initialize();virtual;//FFFE
procedure Disappear();virtual;//FFFD
function Operate(ProcessMsg:pTProcessMessage):Boolean;virtual;//FFFC
procedure SearchViewRange();virtual;//dynamic;
procedure Run();virtual;//dynamic;//FFFB
procedure ProcessSayMsg(sMsg:String); virtual;//FFFA
procedure MakeGhost;virtual;
procedure Die();virtual;//FFF9;
procedure ReAlive();virtual;//FFF8;
procedure RecalcAbilitys();virtual; //FFF7
function IsProtectTarget(BaseObject:TBaseObject):Boolean; virtual; //FFF6
function IsAttackTarget(BaseObject:TBaseObject):Boolean; virtual; //FFF5
function IsProperTarget(BaseObject:TBaseObject):Boolean; virtual; //FFF4
function IsProperFriend(BaseObject:TBaseObject):Boolean; virtual; //FFF3
procedure SetTargetCreat(BaseObject:TBaseObject); virtual; //FFF2
procedure DelTargetCreat(); virtual; //FFF1
procedure RecallSlave(sSlaveName:String);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -