#ifndef PC_HPP #define PC_HPP #include "pc.t.hpp" #include "clif.t.hpp" #include "map.hpp" inline void pc_setsit(dumb_ptr sd) { sd->state.dead_sit = 2; } //pc_setstand(dumb_ptr sd) is a normal function inline bool pc_isdead(dumb_ptr sd) { return sd->state.dead_sit == 1; } inline bool pc_issit(dumb_ptr sd) { return sd->state.dead_sit == 2; } inline void pc_setdir(dumb_ptr sd, DIR b) { sd->dir = (b); } inline bool pc_isinvisible(dumb_ptr sd) { return bool(sd->status.option & Option::HIDE); } inline bool pc_is90overweight(dumb_ptr sd) { return sd->weight*10 >= sd->max_weight*9; } // Checks all npcs/warps at the same location to see whether they // should do something with the specified player. void pc_touch_all_relevant_npcs(dumb_ptr sd); uint8_t pc_isGM(dumb_ptr sd); int pc_iskiller(dumb_ptr src, dumb_ptr target); // [MouseJstr] void pc_invisibility(dumb_ptr sd, int enabled); // [Fate] int pc_counttargeted(dumb_ptr sd, dumb_ptr src, ATK target_lv); int pc_setrestartvalue(dumb_ptr sd, int type); void pc_makesavestatus(dumb_ptr); int pc_setnewpc(dumb_ptr, int, int, int, tick_t, int); int pc_authok(int, int, TimeT, short tmw_version, const struct mmo_charstatus *); int pc_authfail(int); EPOS pc_equippoint(dumb_ptr sd, int n); int pc_checkskill(dumb_ptr sd, SkillID skill_id); int pc_checkequip(dumb_ptr sd, EPOS pos); int pc_walktoxy(dumb_ptr, int, int); int pc_stop_walking(dumb_ptr, int); int pc_movepos(dumb_ptr, int, int); int pc_setpos(dumb_ptr, const char *, int, int, BeingRemoveWhy); void pc_setsavepoint(dumb_ptr, const char *, int, int); int pc_randomwarp(dumb_ptr sd, BeingRemoveWhy type); ADDITEM pc_checkadditem(dumb_ptr, int, int); int pc_inventoryblank(dumb_ptr); int pc_search_inventory(dumb_ptr sd, int item_id); int pc_payzeny(dumb_ptr, int); PickupFail pc_additem(dumb_ptr, struct item *, int); int pc_getzeny(dumb_ptr, int); int pc_delitem(dumb_ptr, int, int, int); int pc_checkitem(dumb_ptr); int pc_count_all_items(dumb_ptr player, int item_id); int pc_remove_items(dumb_ptr player, int item_id, int count); int pc_takeitem(dumb_ptr, dumb_ptr); int pc_dropitem(dumb_ptr, int, int); int pc_checkweighticon(dumb_ptr sd); int pc_calcstatus(dumb_ptr, int); int pc_bonus(dumb_ptr, SP, int); int pc_bonus2(dumb_ptr sd, SP, int, int); int pc_skill(dumb_ptr, SkillID, int, int); int pc_attack(dumb_ptr, int, int); int pc_stopattack(dumb_ptr); int pc_gainexp_reason(dumb_ptr, int, int, PC_GAINEXP_REASON reason); int pc_extract_healer_exp(dumb_ptr, int max); // [Fate] Used by healers: extract healer-xp from the target, return result (up to max) int pc_nextbaseexp(dumb_ptr); int pc_nextjobexp(dumb_ptr); int pc_need_status_point(dumb_ptr, SP); int pc_statusup(dumb_ptr, SP); int pc_statusup2(dumb_ptr, SP, int); int pc_skillup(dumb_ptr, SkillID); int pc_resetlvl(dumb_ptr, int type); int pc_resetstate(dumb_ptr); int pc_resetskill(dumb_ptr); int pc_equipitem(dumb_ptr, int, EPOS); int pc_unequipitem(dumb_ptr, int, CalcStatus); int pc_unequipinvyitem(dumb_ptr, int, CalcStatus); int pc_useitem(dumb_ptr, int); int pc_damage(dumb_ptr, dumb_ptr, int); int pc_heal(dumb_ptr, int, int); int pc_itemheal(dumb_ptr sd, int hp, int sp); int pc_percentheal(dumb_ptr sd, int, int); int pc_setoption(dumb_ptr, Option); int pc_changelook(dumb_ptr, LOOK, int); int pc_readparam(dumb_ptr, SP); int pc_setparam(dumb_ptr, SP, int); int pc_readreg(dumb_ptr, SIR); void pc_setreg(dumb_ptr, SIR, int); const char *pc_readregstr(dumb_ptr sd, SIR reg); void pc_setregstr(dumb_ptr sd, SIR reg, const char *str); int pc_readglobalreg(dumb_ptr, const char *); int pc_setglobalreg(dumb_ptr, const char *, int); int pc_readaccountreg(dumb_ptr, const char *); int pc_setaccountreg(dumb_ptr, const char *, int); int pc_readaccountreg2(dumb_ptr, const char *); int pc_setaccountreg2(dumb_ptr, const char *, int); int pc_addeventtimer(dumb_ptr sd, interval_t tick, const char *name); int pc_cleareventtimer(dumb_ptr sd); int pc_calc_pvprank(dumb_ptr sd); void pc_calc_pvprank_timer(TimerData *, tick_t, int); int pc_marriage(dumb_ptr sd, dumb_ptr dstsd); int pc_divorce(dumb_ptr sd); dumb_ptr pc_get_partner(dumb_ptr sd); void pc_set_gm_level(int account_id, uint8_t level); void pc_setstand(dumb_ptr sd); void pc_cleanup(dumb_ptr sd); // [Fate] Clean up after a logged-out PC int pc_read_gm_account(int fd); int pc_setinvincibletimer(dumb_ptr sd, interval_t); int pc_delinvincibletimer(dumb_ptr sd); int pc_logout(dumb_ptr sd); // [fate] Player logs out int do_init_pc(void); #endif // PC_HPP