1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585 |
- Date Added
- AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
- IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
- 2008/08/16
- * Added a mapreg txt->sql converter script to /tools, because the sql
- mapserver doesn't read the txt mapreg savefile anymore and people
- will most likely want to preserve their global variables.
- - script is php-based and requires the php_mysql module
- - script produces a series of INSERT statements, ready to be imported
- 2008/08/15
- * Split off mapreg code from script.c [ultramage]
- - new mapserver files, mapreg.h, mapreg_txt.c, mapreg_sql.c
- - removed MAPREGSQL from project files / makefiles
- - mapreg storage engine is now fully dependent on the server type
- - added config settings mapreg_txt and mapreg_db to inter config
- - added get_str() function to complement add_str()
- - fixed txt mapreg code allowing too long variable names
- * Removed gm_cant_party_max_lv. It now uses gm_cant_party_min_lv as the threshold. (bugreport:2051) [SketchyPhoenix]
- 2008/08/11
- * Fixed right-click npc unload not unloading duplicates (bugreport:2014)
- 2008/08/09
- * Fixed @noks leaking internal buffer contents (bugreport:1528)
- * Now Novices without lvl5 basic skill can be partied (bugreport:1131)
- * Fixed login printing raw passwdenc passwords to console (bugreport:826) [ultramage]
- - added strlib function bin2hex()
- - cleaned up the md5calc interface a bit
- 2008/08/07
- * Added another GM trust config for party invitations (bugreport:2004) [SketchyPhoenix]
- 2008/08/04
- * Added configs for quest table name adjustment (bugreport:1778)
- 2008/08/02
- * Player shops will not close on death anymore (bugreport:1955)
- 2008/08/01
- * Removed unused guardian hp columns from the castles table in main.sql.
- * Corrected incorrect use of the datetime column in the `login` table. [ultramage]
- * Quagmire now will affect boss monsters, but more info is required to code the debuff exceptions properly. [Brainstorm]
- 2008/07/31
- * Fixed: added 'E'-type zenylogs in sql table (bugreport:1957) [akrus]
- - added sql file upgrade_svn13025_log.sql
- * Improved: added --enable-debug=gdb option in configure script to use gdb optimized debug mode [akrus]
- * Removed the mob controller system, now a customization (see topic:194375) [ultramage]
- * Fixed: commented out loginlog in convert engine sql tables (loginlog table is in logs database now) [akrus]
- 2008/07/30
- * Fixed TXT storage code handling storage incorrectly (bugreport:1928)
- * AccountDB_TXT will now correctly read inconsistent EOLs (bugreport:1934)
- * Removed the IRC bot system, now a customization (see topic:194306)
- 2008/07/29
- * Renamed struct 'skill' to 's_skill' to remove naming collisions.
- * Added defines for mercenary skill ranges.
- * Added a mapping of mercenary skills to the skill db (700-799 atm).
- * Fixed Sql object not initializing default values properly.
- Fixed Sql_Free producing timer deallocation errors when called
- without first establishing a database connection.
- * Corrected upgrade_svn12975_view.sql not assigning default values
- to the two dummy columns; please drop the view and re-run the script.
- 2008/07/27
- * Fixed md5 passwords not working
- * Possibly corrected a guild saving problem (bugreport:1908)
- * Removed some leftover code that shouldn't have been merged [ultramage]
- * Fixed a memory leak in mmo_auth_tosql (extra sql statement being allocated).
- * Added missing option 'log_db_db' to loginlog_config_read(loginlog_sql.c).
- * Fixed a memory leak in account_db_sql_destroy. [FlavioJS]
- * Changed the way GM levels are handled
- - removed conf/gm_account.txt
- - added the gm level column to the txt savefile (after 'email' column)
- - gm level information is now transferred along with account data
- * Merged the /loginmerge branch [ultramage]
- - the login server storage, ipban and logging systems have been abstracted
- and now provide a common interface; the rest has been merged into a
- single login server core (no more login/login_sql duplicity)
- - storage systems are now added via compiler options (WITH_SQL / WITH_TXT)
- - multiple storage engines can be compiled in at the same time,
- and the config option account.engine defines which one will be used.
- - due to MySQL autoincrement limitations, accounts with id '0' will not
- be supported; account IDs from this point on should start from '1'.
- - login_log() functions now again record IP addresses in dotted format,
- not as 4-byte integers (undo from r6868).
- - removed config options that defined column names in the login table
- - removed `memo` and `error message` columns from login db/savefile
- - moved `loginlog` table to the logs database
- - added sql files upgrade_svn12975.sql and upgrade_svn12975_log.sql
- - due to changes to the login table layout, I added an !optional! sql
- file (upgrade_svn12975_view.sql) that will provide a certain degree
- of backwards compatibility with existing software;
- read the instructions inside carefully!
- - moved third-party includes/libs to a separate directory
- - updated project files / makefiles
- 2008/07/20
- * Simplified the search in pop_timer_heap and added more debug info to help
- determine the source condition of timer errors. (bugreport:1860)
- * Fixed crash in skill_castend_id. (bugreport:1860) [FlavioJS]
- * Corrected #storagelist target typo (bugreport:1873) [SketchyPhoenix]
-
- 2008/07/16
- * Added a check to make sure only released timers are acquired from the free list.
- * Changed TIMER_MAX_INTERVAL to 1 second (was set to 1 minute by mistake). [FlavioJS]
- * Fixed TK_JUMPKICK, should not jump over objects and cliffs.
- - This also might fix them being able to jump barricades on WoESE. [Brainstorm]
-
- 2008/07/15
- * Updated WoE Time Explanation for Sunday. [Paradox924X]
- * Corrected wrong data loading order in txt storage code [ultramage]
- * Fixed pop_timer_heap using max heap comparisons instead of min heap comparisons
- and protected timer functions against improper use. (should fix bugreport:1833 bugreport:1841) [FlavioJS]
- 2008/07/14
- * Made homunculi have doubled regen rates (they regen twice as fast) defined on battle configs. [Brainstorm]
- * Corrected compiler warning and error made from r12952 and r12953, respectively. [SketchyPhoenix]
- 2008/07/13
- * Modified storage data loading (bugreport:1425) [ultramage]
- - storage is now loaded/saved along with character status
- - as a consequence, a lot of storage handling code was removed
- - there is no more locking done within storage data
- - mapservers no longer cache the data (solves muiltimapserver exploit)
- - loading storage on char select may decrease charserver performance
- * Added missing picklog case [Konard]
- 2008/07/12
- * Fixed a bad check on NPC_EVILLAND, actually healing players instead of doing damage. [Brainstorm]
- 2008/07/10
- * Users can't click floating npcs directly. (quick fix for bugreport:1814) [FlavioJS]
- 2008/07/09
- * Fixed SG_FUSION hp penalty (0.5% to 2%), bugreport:1805 [Brainstorm]
- * Added const to the return value of get_timer.
- * Added a maximum timer interval. Avoids server shutdowns being delayed
- for ~10 seconds under some circumstances on windows.
- * Replaced the fake timer heap (ordered array) with a binary min heap. [FlavioJS]
- 2008/07/07
- * First attempt at implementing the official walk speed system
- - separated speed modifiers into bonuses, penalties and other statuses
- - no bonuses stack, instead the maximum is taken
- - no penalties stack, instead the maximum is taken
- - Union, Riding and Pushcart are the only other statuses that stack
- - both bonuses and penalties are linear modifiers of the base walk speed
- - 'other' statuses are applied after bonuses and penalties
- * Changed many equations to match official walk speed system
- - Steel Body now sets a fixed walk speed of 200 (bypassing everything else)
- - Defender now caps the walk speed to a minimum of 200
- - Slow Grace now uses official equation for aspd/walk speed decrease
- - Pushcart's speed penalty is now halved
- - Free Cast now changes walk speed to a fixed value, bypassing bonuses and penalties
- - Wedding clothes now have a penalty of +100%, not +200%
- - rogue's Tunnel Drive and stalker's Chasewalk ignore all penalties
- - taekwon's Running is now 5% faster
- - Frenzy is now 5% faster
- - Gospel's offensive slowdown is now +75% instead of +33%
- - Quagmire now slows down by +50% instead of +100%
- - Gatling Fever now slows down by +100% instead of +33%
- - Cloaking modifier is now a bonus/penalty, depending on presence of wall
- - Longing for Freedom overrides the song/dance penalty (bugreport:416)
- - Bard/Dancer Spriit now properly affects song/dance penalty (bugreport:1019)
- - item-granted speedup no longer stacks with speed bonuses (topic:145019)
- - removed some status code that pre-calculated speed bonuses/penalties,
- to make calculations more localized and less messy (see song/dance code)
- * Removed stop/slowdown effect from Grimtooth (bugreport:1806)
- * Players autotrading will not be able to receive whispers (bugreport:1804) [SketchyPhoenix]
- 2008/07/06
- * Slight cleanup of item-based walk speed bonuses [ultramage]
- - removed bSpeed bonus code (was just disabled until now)
- - changed speed_rate to use base value 0% instead of 100%
- 2008/07/05
- * Moved the mob killmonster flag to a more appropriate area. (bugreport:1795) [SketchyPhoenix]
- 2008/07/04
- * Fixed AM_PHARMACY produce chances based on info gathered by flaviojs, aegis zone ep 11.2, of 20070629 [Brain/FlavioJS]
- * Rev. 12911 Homunculus will no longer auto-vaporize on master death. [L0ne_W0lf]
- - Added config option to allow for this to be turned on or off.
- * Added missing 'E' logs to mail system [Lupus]
- 2008/07/03
- * Removed aspd penalty from Free Cast since tests show it's not there,
- even though RO sites claim it is
- * Adjusted Free Cast code so that its walk penalty gets calculated in
- status_calc_speed and nowhere else [ultramage]
- * Fixes regarding bugreport:1727 (undead element/race skill behaviors) follow up on revisions r12820 r12821 and r12822 [Brainstorm]
- 2008/06/24
- * Rev. 12891 Increased Item group limit for new item groups. [L0ne_W0lf]
- 2008/06/23
- * Fixed: replaced TYPEs with ENGINEs in SQL files (for better compatibility, TYPE is a synonym) [akrus]
- 2008/06/22
- * Extended script command 'set' to return the variable reference (topic:190602). [FlavioJS]
- * Fixed a bug where the "OnMyMobDead" event wouldn't trigger if the mob was killed and never attacked. (bugreport:1725) [SketchyPhoenix]
- * Reworded a comment in can_copy to make more sense.
- * Modified *killmonster and *killmonsterall to support a new argument that will allow it to kill monsters using the new OnMyMobDead behavior (in order to avoid breaking older scripts) (bugreport:1734)
- 2008/06/19
- * Added Sirius_White's fix for sense working on emperium. (bugreport: 1679) [SketchyPhoenix]
- * Fixed SC_CHANGEUNDEAD behavior: Blessing and Increase AGI deals 1 damage and does not apply buffs to those inflicted by it.
- 2008/06/18
- * Added a fix for refresh properly displaying dead and sitting players. [SketchyPhoenix]
- * Fixed basilica behavior not knocking back monsters 2 cells should one attempt to enter the field.
- * Fixed cash shop not using points to make up the cash difference when purchasing an item.
- 2008/06/17
- * Forgot to commit source modification from r12833 (Updated Novice grounds.) [L0ne_W0lf]
- 2008/06/16
- * Made the socket limit not be set in cygwin, which has bogus behavior. (bugreport:1684) [FlavioJS]
- * Made the socket limit be set to the maximum allowed value when setting to FD_SETSIZE fails.
- 2008/06/14
- * Fixed Icewall not restoring the original cell type [ultramage]
- * Fixed PF_FOGWALL working on Boss monsters. [Brainstorm]
- 2008/06/13
- * Fixed Evil Land working versus undead element instead of undead race.
- * Fixed Grandcross and darkgrandcross, should only cause blind against undead race.
- Also confirmed that ME, evil land, sanctuary, grandcross/DGC and status recovery are versus element, not race.
- * Removed confusion effect part from AL_CURE, it doesnt work on official anymore.
- * Partial revert of signum crucis modification, it doesnt work against players, but work on ELEMENT undead monsters.
- * Corrected dc_serviceforyou bonus values based on irowiki (better have fansite info than 100% guessed info).
- * Fixed dc_humming only recieving half the bonus from dancing lessons.
- * Fixed some skills working on undead element when they were supposed to work on undead race. [Brainstorm]
- Skills Fixed: Cure, Signum Crusis, Blessing, Demons Bane, Divine Protection.
- Skills needing confirmation: Magnus Exorcismus, Evil Land, Sanctuary, Status Recovery, GrandCross, Dark GrandCross, Head Crush
- 2008/06/12
- * Added check to prevent crashing on logmes with no player attached
- (bugreport:1648) [ultramage]
- * Added support for skill names to script commands: [FlavioJS]
- - skill, addtoskill, guildskill, getskilllv, getgdskilllv, itemskill,
- petskillattack, petskillattack2, petskillsupport, skilleffect,
- npcskilleffect, unitskilluseid, unitskillusepos
- - bonus/bonus2/bonus3/bonus4/bonus5 for bonuses bAutoSpell, bSkillAtk,
- bSkillHeal, bAutoSpellWhenHit, bAddSkillBlow, bCastrate
- 2008/06/11
- * Added partylock/guildlock checking for @changeleader/@changegm
- (bugreport:72) [ultramage]
- 2008/06/10
- * Fixed double attack working with unarmed attacks, as reported by Lone Wolf. [Brainstorm]
- * Added experimental code to set the socket limit at runtime. [FlavioJS]
- 2008/06/09
- * Fixed SN_SHARPSHOOTING doing 100% atk less damage than it should, bugreport:1654
- * Fixed Active Guild skills not working when WoE is OFF, follow up on r12770, bugreport:1653 and bugreport:1637
- * Fixed Fire Pillar (and any future splash damage magical trap) not working on Land Protector.
- * Fixed reject sword having a infinite duration, bugreport:695 [Brainstorm]
- 2008/06/08
- * Implemented the two-handed staff/rod type
- * Corrected definition of 'delitem' and 'delitem2', which prevented the
- optional accountid parameter from working (bugreport:1512) [ultramage]
- * Fixed SA_DISPELL removing SC_CRITICALWOUND. [Brainstorm]
- 2008/06/07
- * Swapped the W_SHOTGUN and W_GATLING weapon type IDs [ultramage]
- * Fixed GD_EMERGENCYCALL not working inside gvg castles when WoE is off, bugreport:1637 fix by Meyraw [Brainstorm]
- * Kaite should not work against high-level mobs (bugreport:1623)
- * Fixed 'soundeffectall' not reading its params correctly [ultramage]
- * Fixed PF_DOUBLECASTING casting % bugreport:140
- * Fixed a few properties of NPC_CHANGEUNDEAD bugreport:79 [Brainstorm]
- 2008/06/01
- * Added Ai4rei's "gm can view all players' equips" feature [ultramage]
- 2008/05/31
- * Crashfix to attach/detach timers, thanks to Konard (fixed recent crashes) [Lupus]
- 2008/05/28
- * Updated Ankle Snare duration (bugreport:1438) [Playtester]
- - agi now has only half the effect on the duration (100 agi reduces it by 50%)
- - minimum duration is 5 seconds no matter what
- * Fixed stat values displaying incorrectly when increasing them
- past 255 (wraparound, ack packet only has 1 byte) [ultramage]
- 2008/05/26
- * Updating configure script: [FlavioJS]
- - fixed memory manager using the argument of the last enable/disable option (any option)
- - other minor changes
- * Increased the allowed packet size for chat messages [ultramage]
- - changed the capacity of the message column in chatlog (see sql update)
- 2008/05/25
- * Increased storage space to 600 [Playtester]
- 2008/05/24
- * Updated sql files to latest [Toms]
- 2008/05/16
- * Fixed 64bit timestamps messing up auction/storage (bugreport:1454)
- * Added sd state to track party creation/invitation (bugreport:1180)
- 2008/05/13
- * Fixed a mistake in r11344 that caused the 'my shop' window to display
- info about cards slotted in items incorrectly (bugreport:1502)
- 2008/05/12
- * Fixed a script engine problem where warping away while having a menu
- window open and talking to an another npc with a menu would produce
- menu option count mismatch errors (bugreport:1208)
- 2008/05/10
- * Fixed @showmobs not working (bugreport:1487)
- 2008/05/09
- * Added correct extended info packets for items that are being moved
- into storage or cart. This caused items to visually lose their
- properties once they have been moved from inventory (bugreport:250).
- The modification is mostly copypaste but it works nicely [ultramage]
- 2008/05/07
- * Corrected default guild positions not being saved during guild creation.
- * Did some cleanup of the splash code, the NPC_WIDE* skills now send the
- 'preamble' packet, which for the most part correct their skill animation
- display.
- * Fixed Sense messing up with Spiderweb.
- * Added Throw tomahawk to the list of items that do not trigger the
- equipment breaking code.
- * Probably fixed Moonlight petals pushing back the casters.
- * Infinite Endure won't be passed on to devoted characters.
- * Infinite Endure is no longer saved on logout.
- * Added check to avoid gms opening vending shops if they don't have the
- required level.
- * Fixed the flee penalty not applying when you walk into a gvg map. [Skotlex]
- 2008/05/03
- * NPC_GUIDEDATTACK is not supposed to bypass pneuma/safetywall [ultramage]
- 2008/05/02
- * Fixed missing iterator destruction in the map_foreach* functions (followup to r12684).
- * Added backward compatible handling of PACKETVER 8 and 9. (followup to r12539)
- * Changes to map_foreach* functions: [FlavioJS]
- - removed the unecessary use of va_copy in map_foreachpc
- - applied the same function pattern to map_foreachmob and map_foreachiddb
- - created map_foreachnpc
- - extended the behaviour of map_foreach* functions to stop iterating when func returns -1
- * Replaced the very ineffective clif_foreachclient() with map_foreachpc() since they essentially do the same thing (bugreport:1174).
- * Rewrote map_foreachpc() so that its callback function signature now uses a more natural 'sd' instead of a DBKey/void* pair.
- * Rewrote atcommand_users() to use a single function, instead of depending on two helper functions and global objects.
- * Added a custom implementation of the va_copy macro for systems that don't provide it.
- * Fixed varargs not being used correctly in foreach() calls in db.c (bugreport:551).
- * Replaced the integers+checking approach in r12679 with usage of floating point arithmetic.
- * Applied search&replace to use the new name of the function.
- * Implemented get_percentage() for compact and safe calculation of percentual values.
- * Fixed integer arithmetic overflows that were occuring in several supernovice checks (bugreport:1135). [ultramage]
- 2008/05/01
- * Updated mob_db.sql to latest [Toms]
- 2008/04/30
- * Rev. 12676 Corrected several effect descriptions. [L0ne_W0lf]
- 2008/04/28
- * Cleaned up char server set online/offline/char select functions. (r12670) [Kevin]
- 2008/04/27
- * Fixing some timestamp type difference warnings...
- * Removed the calc_times() no-op (bugreport:1289).
- * Corrected r12662 where a guild break would trigger the OnGuildBreak event for all castles (even of other guilds).
- * Corrected some x64 compilation warnings in ers/malloc files.
- * Cleaned up a case of bad variable reuse.
- * Cleaning up the itemdb reload mess (see r12635, r12643, r12650, r12661, r12662, r12663): [ultramage]
- - the player data inventory-itemdb index is now refreshed using pc_setinventorydata()
- - mobdb will no longer initialize with nonexistent items, and mobs will no longer drop them in case of a reload
- - the clif_buylist() function once again hides invalid npc shop items
- - it is no longer possible to purchase nonexistent items from a npc shop
- - npc shop loading will not abort if there is a nonexistent item entry, it will just skip over it
- 2008/04/26
- * Added script function hasquest. [Kevin]
- * Fixed OnGuildBreak. [Kevin]
- * Cleaned up auth system after change back to map server request.
- - Created function set_char_charselect to get rid of some of the "special case" variables.
- - Removed code that involved the char server sending auth data at char select.
- - Changed char select code to update the instance of the char data in the DB
- to fix map/sex info not being propagated to auth request. [Kevin]
- * Rev. 12657 Added WoE SE castles to castles.txt in save-tmpl. [L0ne_W0lf]
- 2008/04/25
- * Updated item_db.sql to latest
- * Fixed bugreport:1223 (Invalid Items In Shops Are Processed Incorrectly)
- * Modified delitem/delitem2 to have the same behaviour as getitem/getitem2 (optional
- account_id parameter) bugreport:1035
- * Modified doc in consequence [Toms]
- 2008/04/23
- * Fixed script strings not being handled properly (only skipped the \).
- * Added skip_escaped_c to strlib.c/h.
- * Fixed sv_unescape_c not handling hex/octal escapes properly.
- * Script parse errors displayed with one ShowError instead of several ShowMessage's. [FlavioJS]
- 2008/04/22
- * Changed itemdb_reload to clear the database before reloading, so it is possible
- can remove an item from the DB without restarting the server (bugreport:1348) (r12635). [Kevin]
- * Fixed a "bug" in sv_readdb under windows and cygwin configured as "Unix/binary" for text
- files ('\r' is read and empty lines are not skipped) bugreport:1382 bugreport:1401 [Toms]
- 2008/04/21
- * Changed the data field of timers from int to intptr.
- * Added intptr/uintptr to cbasetypes.h (integers with the same size as a pointer). [FlavioJS]
- * Rev. 12631 Changed Sacrifice status to end on caster's death, not at 25% HP. [L0ne_W0lf]
- - Should also fix over-flow damage returning to sacrificed targets. Partially fixes bugreport:1332
- * Updated sql files to latest [Toms]
- 2008/04/19
- * Made some cleanup in changesex [Toms]
- * Fixed a bug in (init/start/stop)npctimer [Toms]
- 2008/04/18
- * Fixed a bug when unloading a npc near a shop.
- * Fixed npc_buylist not giving/checking the good item when it was an
- item_avail in the shop (the real one was added in inventory).
- * Implemented config setting 'vending_over_max', to let people configure
- the behavior of vending items over the MAX_ZENY limit [ultramage]
- * Fixed mapserv crash, thanks to Konard [Lupus]
- 2008/04/17
- * Modified sv_readdb to be able to process non-native line terminators (bugreport:1382) [ultramage]
- 2008/04/16
- * Fixed an issue in r12575 where 'not setting char offline when going from mapserver to charserver' also caused a permanent account lockout if the player pressed 'cancel' in the char select screen.
- * Merged some recent changes from SQL to TXT, as someone didn't bother to do it.
- * Ifdefed the quest data request code as SQL-only (this was causing server disconnects whenver someone logged in). [ultramage]
- 2008/04/15
- * Use the same code for script commands getitem & getitem2 as @item to avoid
- bug in bugreport:1324 (non-stackable items are stacked) [Toms]
- * Removed all _ in the second name in item_db.txt and updated item_db.sql [Toms]
- * Added a forward declaration of the struct quest instead of including mmo.h [Toms]
- * Corrected some invalid syntax in skill_db.txt (wrong usage of commas)
- * Renamed BA_FROSTJOKE to BA_FROSTJOKER (aegis server-side name)
- * Implemented a generic framework for parsing delimited db files
- - allows specifying min/max column ranges and max number of rows to read
- * Cleaned up pc.c a bit [ultramage]
- * Updated item_db.sql to latest [Toms]
- 2008/04/14
- * Fixed a possible crash in char_sql. (since r12575, later modified in r12590). [FlavioJS]
- * Fixed a memory leak in mapif_quests_fromsql [Toms]
- * Fixed a typo in char_sql/char.c [Toms]
- * Fixed a bug in the disconnection part char-server (not sending you offline) [Toms]
- * Changes to the configure script: [FlavioJS]
- - added options --with-MYSQL_CFLAGS and --with-MYSQL_LIBS to allow manual setting of those variables
- 2008/04/13
- * More major updates to the quest log system. [Kevin]
- * Followup to r12579 (all other players appeared as female on sql branch). [FlavioJS]
- * Some major updates to the quest system, beginning to move it
- over to the inter server instead of char server. (r12581) [Kevin]
- * Added an include in clif.h to avoid a complaint of gcc [Toms]
- * Quick&dirty reversal of the inter-server behaviour introduced in r3255/r3256:
- - the behaviour enabled a desynch between the char-server and the map-server
- - now the map-server asks the char-server to authenticate the auth info
- (the char-server doesn't send the auth info immediatelly)
- * Changes to the configure script: [FlavioJS]
- - clarified how --with-zlib is used
- - added --enable-packetver to set the PACKETVER define (used often enough
- to get it's own option, but unnecessary since it can be set with CFLAGS)
- - added -g compiler option to --enable-debug
- * Changed LOG_ALL definition to really log everything [Toms]
- 2008/04/12
- * Login will no longer set character offline when going from map
- to character select. (r12575) [Kevin]
- 2008/04/11
- * The max_account_id packetver detection mechanism will never cause any connection problems ever again. (bugreport:388)
- * Reverted the `login` table changes from r12464 [ultramage]
- * Finished most of the quest log code, still bits here and there
- but it's ready for testing. (r12558) [Kevin]
- 2008/04/10
- * More quest log code. [Kevin]
- * Client not marked online until map receives auth request from the client
- - and is approved. Also added some online/offline sets to the auth system
- - that were being skipped.(r12552) [Kevin]
- * Modified the charservers to use a DBMap instead of a cyclic array for auth data.
- * Merged the auth fix from r12473 to TXT as well.
- * Removed the no-op from r12547. [ultramage]
- * Rev. 12550 Reverted the change to MAX_SQUARE_LAYOUT. [L0ne_W0lf]
- * Rev. 12548 Updated NPC skill "Evil Land". More gravity wtfage. [L0ne_W0lf]
- - Based on visual observation, and experience with it on iRO Sakray.
- 2008/04/09
- * Clif functions and basic data structures for questlog system. (r12544) [Kevin]
- 2008/04/08
- * Fixed party invitation ack messages not displaying (bugreport:1308)
- * Modified PACKETVER for recent clients to use a YYYYMMDD date format
- instead of a simple sequence number (allows adding versions inbetween)
- * Small party/guild creation cleanup. Added packet comments. Removed fake reply packet usage. [ultramage]
- 2008/04/07
- * Rev. 12529 Updated MAX_GUARDIANS to support an insane amount of guardians. [L0ne_W0lf]
- * Immunity to magic now makes you immune to the SC effect as well. (r12527) [Kevin]
- * Made script command 'flagemblem' and guild_emblem_change send an update
- of the emblem_id to the players in the area.
- - known bug: ui components that are displaying the emblem at the time
- (emblem in flag npc and emblem over head in gvg maps) are not updated,
- but putting the mouse over the target shows the new emblem
- * Modified script command 'guardian':
- - returns the id of the guardian
- - if guardian index isn't supplied, it generates a temporary guardian
- * Implemented support for temporary guardians (not saved with castle).
- * Added missing includes from r12520. [FlavioJS]
- * Party/guild names can no longer be less then 2 characters long. (r12521) [Kevin]
- * Removed the 'wait close' timer that closed a session's socket after 5 seconds.
- This was causing random disconnects when logging in. (bugreport:1330)
- * Improved the Mental Sensing fix from r12507 to not start the status at all, instead of starting it and ignoring it later on. [ultramage]
- 2008/04/06
- * Fixed a case where a dangling pointer was formed when a person was
- - invited to a party immediately after creating their own. (r12518) [Kevin]
- * Sight rasher now affects the wizard's own and other's icewalls. (r12516) [Kevin]
- * Sight rasher, sight blaster, and arrow shower are now the only
- - three skills that will affect traps. (r12516) [Kevin]
- * NPC earthquake now divides the atk2 bonus between players. (r12514) [Kevin]
- * Changed guild skills restore, regen, and battle order to only affect BL_PC. (r12513) [Kevin]
- * Reverted one of the changes in dynamic mobs that may
- - be causing the spawning problems. (r12512) [Kevin]
- * Equip speed buffs no longer stack with speed consumables. (r12509) [Kevin]
- - (Speed potion not included).
- * Sprint, Fusion, and Increase AGI now stack independently.
- - The others still don't take affect if you have any of these three. (r12508) [Kevin]
- * Mental Sensing no longer gives an xp bonus on bosses. (r12507) [Kevin]
- * Changed Union/Increase AGI stack fix (it should work now). (r12506) [Kevin]
- * Fixed seven wind not allowing ghost/shadow. (r12505) [Kevin]
- * Added Moscovia to the list of @go destinations [Toms]
- 2008/04/05
- * Unequip should no longer remove any buff from seven wind. (r12503) [Kevin]
- * Union and Increase AGI now stack. (r12502) [Kevin]
- * Union now consumes sp when not soul linked. (r12499) [Kevin]
- * Running into a wall/npc/pc/mob no longer enables spurt. (r12498) [Kevin]
- * Fixed unable to move after using a skill to break out of sprint. (r12497) [Kevin]
- * DMG no longer stops running. (r12488) [Kevin]
- 2008/04/04
- * PCs/Mobs/NPCs now block Leap(TK_HIGHJUMP) and sprint(TK_RUN). (r12485) [Kevin]
- * Disconnect user when receive select egg packet with no menu open. (r12484) [Kevin]
- * Fixed @rura between maps on more then one map server. (r12483) [Kevin]
- * Update to Auth Glitch fix: moved unit_free_pc back to where it was
- - and updated it so unit_free_pc just tells the script to end
- - (not hard delete). (r12481) [Kevin]
- * Updated mob_db.sql to latest.
- * Fixed a little bug in Kevin's commit (r12473) [Toms]
- * Bug fixes for Auth Glitch and Map server crash through script warp when
- - changing map servers.
- * When char receives the request to go back to char selection it sets
- - the character as "at char select" in the online_char_db, and
- - set_char_offline now deletes the entry in the online_char_db unless
- - the user is at the character screen (to prevent unecessary callocs/frees.
- * Script warp was just a simple misplacement of a free statement, freeing the
- - users session data before the scripting subsystem was finished with it. [Kevin]
- 2008/04/03
- * More login server work
- - Renamed 'connect_until_time' to 'expiration_time'
- - Renamed 'ban_until_time' to 'unban_time'
- - this also applies to login table columns (see upgrade_svn12464.sql)
- 2008/04/02
- * Rev. 12462 Updated MAX_GUILDCASTLE to support new castles. [L0ne_W0lf]
- * Added SV_KEEP_TERMINATOR option to not split the line terminator.
- * Added sv_split to strlib.c/h (similar to sv_parse). [FlavioJS]
- 2008/03/31
- * Fixed ACIDDEMO crash, thanks to Kaato&Konard [Lupus]
- * Added latest version of dbghelp.dll (from microsoft debugger package), to prevent Windows from loading other, outdated versions.
- This caused the dbghelpplug plugin to omit information about structures when producing a backtrace. [ultramage]
- 2008/03/30
- * yet more login server stuff
- - jA data structure compatibility renaming / adjustments
- - mmo_account -> login_session_data, auth_data -> mmo_account
- - made gender variable usage consistent for the entire login server
- - rewrote TXT's new account creation procedure to match SQL's
- 2008/03/28
- * Some more txt/sql login server synchronization [ultramage]
- - removed the option to specify multiple IPs/subnets for 'ladminallowip'
- - removed the @gm command and all associated management code
- - removed the 'save unknown packets' code
- - removed the lengthy TXT ipban code (which was essentially a copy of
- what's already handled by the socket layer/packet_athena.conf)
- - implemented 'start_limited_time' in SQL (expiration for new accounts)
- - applied some missing TXT changes from the last update
- 2008/03/27
- * Updated SQL Files (item & mobs) [Toms]
- * Partial rewrite of the login server's auth system.
- - replaced the cyclic, size-limited auth_fifo data structure with the
- more appropriate DBMap-based alternative (stops some erratic behavior)
- - added code to simulate the pseudo-status "online on login server"
- - auth data will now expire after 30 seconds instead of persisting
- - better-than-aegis handling of login cancellation (the server will wipe
- all previous auth data instead of making you wait for it to expire)
- - proper status message - no more generic "rejected from server", now
- you'll get "the server still recognizes your last connection"
- - fixed a typo in r10110 which caused disconnect timer removal to fail
- - split off some parsing code to login_auth_ok() and login_auth_failed()
- - extended the auth confirmation packet so that the login_id1/2 values
- are sent along with the associated account id (stops charserver from
- making wrong choices if two incoming sessions have the same acc_id)
- - fixed a bug in the disconnect part of the main charserver parsing
- loop, where a non-authed client would erase the online db entry for
- a client that's already online, thus bypassing any dual-login checks
- - added code to stop the waiting_disconnect timer when the associated
- online entry is removed right away, instead of doing checks later
- - removed code that would periodically wipe the online status of clients
- that are in the auth process (producing yet more erratic behavior)
- - commented out some TXT-only reconnect prevention code (bugreport:1281)
- * merged the charserver acc modification code cleanup to TXT (r11324)
- * changed trunk's default server->client PACKETVER to 9
- 2008/03/26
- * Adjusted eAthena code to compile cleanly in C++ mode.
- 2008/03/25
- * Added proper checks to adoption processing (followup to r12428).
- * Cleaned up some code / fixed some typos. [ultramage]
- 2008/03/24
- * Reorganized the contents of the mapserver's header files.
- - map.h is no longer a generic dumping spot of all the shared structs,
- and instead, each such structure now resides in its logical component
- - map.h now only holds mostly map-related things (needs more cleaning)
- * Fixed a problem in the new trade window implementation (from r11830) where no trade acknowledgement messages would get sent (bugreport:1217). [ultramage]
- 2008/03/22
- * Cart Termination now bypasses Parrying and Energy Coat (bugreport:476).
- * Mobs with no respawn information which don't have a master will not get unloaded by the dynamic mobs system.
- This prevents script-spawned mobs (bio MVPs, Emperium/Guardians, ...) and dead-branched mobs from disappearing (bugreport:1246).
- * Added a missing null-pointer check to the timed player pvp/gvg respawn function (mistake in r12232) [ultramage]
- 2008/03/21
- * Added VS9 project files. Thanks to Konard [Lupus]
- - removed redundant map_getallusers() function
- 2008/03/19
- * Changed the dynamic mobs system to also unload mobs that have respawn
- time but are already spawned - 22M less mem usage (bugreport:1197)
- - also added a check to not respawn mobs on maps with no players
- (potentially unsafe operation, needs further inspection)
- 2008/03/18
- * Fixed invited party members not displaying correctly (bugreport:1199)
- * Fixed OnPCLoginEvent not working correctly (bugreport:1182) [ultramage]
- * Added missing WorkingDirectory value to vcproj-7.1, vcproj-8 projects.
- Now you can flawlessly run your compiled server with RUN button in
- the correct directory. Thanks to Konard [Lupus]
- - Reverted changes from the project files, due to incompatibility [Lupus]
- 2008/03/14
- * Fixed spawned mob count not being counted properly, causing yet more respawn problems.
- * extended the "npc_event: event queue is full" error message to also print the name of the event (so that the cause can be tracked down)
- * removed a strange (and undocumented) event name check for "GM_MONSTER" in the npc event execution code
- * added effects from recent sakexes to effects list
- * removed ladmin from vs8 sql builds
- * added int_auction.c/.h to vs6 and vs7 project files
- * some small cleanups
- * Fixed one condition incorrectly modified in r12358, which caused dynamically unloaded mobs to never spawn once they've been unloaded once (bugreport:1178) [ultramage]
- 2008/03/13
- * Replaced some foreach-based functions by their inlined iterator equivalents.
- * Changed the dynamic mobs system, so that the flag that indicates whether a particular mob can be unloaded is stored in the mob's respawn data structure.
- * Cleaned up related parts of the source code.
- * Fixed one forgotten mob spawning function call causing mobs to duplicate when respawning (followup to r12350) (bugreport:1173) [ultramage]
- 2008/03/12
- * Removed one mob data variable related to dynamic mobs that I found to be redundant.
- * Changed MAX_MOBSKILL (max. amount of different skill entries per mob) from 50 to 40 to reduce memory consumption a bit more. [ultramage]
- 2008/03/11
- * Replaced one incorrect nullpo check in chat_deletenpcchat().
- * Replaced clif_countusers() with a more efficient alternative (thanks to the fact that pc_db now only holds fully authed players only). [ultramage]
- 2008/03/10
- * Added missing check to only allow the leader of a party to modify
- its exp share settings (bugreport:12) [ultramage]
- 2008/03/09
- * Modified attack_walk_delay so it behaves on a 'per-object' basis, and
- changed the default to 15 (all types).
- * Modified battle_delay_damage so damage is not delayed more than one
- second for non-player attacks.
- * Modified party_member_added with a hack so that the clif functions will
- send the info of the new member since party_recv_info has not yet arrived.
- * Updated clif_calc_delay so the type sent to the client is based on the
- number of hits of the skill (as Aegis packets reveal) [Skotlex]
- * Cleaned up and corrected some more land skill code [ultramage]
- - removed redundant skill_ganbatein() function
- - Added flag UF_PATHCHECK from jAthena which affects whether a skill's
- cells will be affected by the surrounding terrain. Adjusted existing
- flags so that they closely match jA's (for easier comparisons).
- - Fixed code that allowed placing of skill unit cells on 'gaps'.
- - Fixed code that prevented successful casting of land skills on 'gaps'
- (officially it's possible, even though they will not deploy entirely).
- 2008/03/07
- * Script induced status changes can now be reduced by stats/cards (but
- only trigger rate is reduced, not duration).
- * Battle delay timers will now check if the target player has the
- invincible timer active or not.
- * Adjusted clif_damage and clif_skill_damage to set the endure type value
- based on dmotion and damage, rather than hardchecking for SC_ENDURE.
- 2008/03/06
- * Fixed song/dance cells to appear even on top of walls and pits.
- * Fixed non-chatroom owners being able to kick others from the chatroom.
- [Skotlex]
- * Fixed a crash when a homun kills a mvp and the char that did
- the most damage is unable to carry the mvp reward (bugreport:1114)
- 2008/03/05
- * Added code to clear the Illusionary Shadow effect (followup to r12293)
- * Added some trim() calls into mapflag code (followup to r12238)
- * Fixed mvp exp reward packet not working right for big values
- * Added dbghelpplug plugin entry to the plugins configuration file
- * Added conf setting for auction table name (see r12287) [ultramage]
- * Implemented Firepillar's 'target cannot move for 0.2 sec x hit' property.
- * Corrected Earthquake so it behaves as explained in the development topics.
- * Added a missing line to actually unequip unallowed compounded cards when
- changing maps.
- 2008/03/04
- * Updated the firepillar code so it behaves like the other traps.
- * Additional status changes now only get triggered if the attack did
- damage, not if they get absorbed.
- * Properly set the opt3 value for Moonlight, Changeundead and Soul Link.
- * Fixed the "no equip" flag of cards not being properly applied when
- attemting to equip items.
- * Some corections to the new auth db system. [Skotlex]
- 2008/03/02
- * New optimizations for mail system and adjust to use it on Auctions. [Zephyrus]
- - Added a Sql patch to clear all deleted mails. (There is no need to keep that data)
- - Added more code for Auctions. Not implemented but just for study.
- 2008/02/29
- * Rev. 12268 Added documentation for Cash shop NPC heading. [L0ne_W0lf]
- 2008/02/28
- * Added cash shop support [Zephyrus]
- 2008/02/27
- * Fixed 'cleararray' not able to erase array entry 127 (bugreport:864)
- * Fixed @reloadmobdb producing memory leaks in pet db (bugreport:1030)
- * Patched an unresolved case where knocking back a bard/dancer would
- cause the mapserver to crash (bugreport:1043)
- * Fixed Apple of Idun not checking for bard soul link (bugreport:1028)
- * Fixed Advanced Adrenaline Rush not working barehanded (bugreport:1049)
- * Disabled idle_no_autoloot setting (bugreport:1051)
- * Removed NODAMAGE and ICEWALL cell types (mem usage back to normal)
- - Icewall now uses basic cell type 5 (nonwalkable, shootable)
- - as a consequence, you can now warp to a nonwalkable cell - but only
- via gm command or scripted warp bug (hopefully :)
- * Added missing option changes for Illusionary Shadow and Soul Link
- that disappeared when you left the screen (bugreport:1053)
- * Added support for the "view player equip" feature (see topic:174461)
- 2008/02/26
- * Added new settings for Autotrade. [Zephyrus]
- 2008/02/23
- * Now the server will print an error message if an invalid mapflag is
- found during script loading (see bugreport:980 for the motivation)
- - removed one extra space that broke jail's noreturn mapflag loading
- 2008/02/22
- * Removed code in socket.c that tries to avoid send buffer overloading,
- as there is a scenario (many players and charserver disconnect) where
- mass char saving produces huge ammounts of data to send (see r11503)
- * Cleaned up player respawning code (bugreport:1022)
- * Increased the max amount of different autocast skills from 5 to 10
- * Fixed @whomap not unlocking the player db (bug in r12204) [ultramage]
- * Added $(CUSTOM_CFLAGS) into all Makefile.in to provide any custom defs
- directly to all sub make files. How to use:
- make CUSTOM_CFLAGS='-DSOME_DEF' sql [Lupus]
- * Fixed 2 problems in r12223 - incorrect variable used (bugreport:1031) and a missing global function declaration. [ultramage]
- 2008/02/21
- * Added status_calc_life to properly calculate hp/max_hp as a ratio taking
- into accounts overflows (and for now also avoids divisions by 0). Applied
- this function around clif.c, mob.c and pet.c
- * Implemented the correct walk-speed bonus from the Bard/Dancer spirit.
- * Fixed logarithmic drops turning 0% drop rates into 100%.
- * Restructured the login mechanism of the map-server. The goal was to make
- sure players are not found in the different dbs of the map while the
- player has not yet been fully authed or while it is quitting, to avoid the
- rest of the code from accessing and modifying it. It is a rather extensive
- change, and I only had time to test the basic functionality, so if use with
- care and report any bugs found.
- * Replaced player states auth, waiting_disconnect, finalsave with active,
- and removed states party_sent/guild_sent.
- * Removed several of the old login methods/constants/player states which
- are no longer needed due to this cleanup. [Skotlex]
- 2008/02/19
- * Rev. 12219 Fixed a typo in /map/clif.c (acount_id -> account_id) [L0ne_W0lf]
- * Forgotten update to the definition of script command 'input'.
- * Enabled DEBUG_MEMMGR only in DEBUG mode.
- * Made autotrading characters be kicked instead of reporting double login.
- * Made create_session initialize session_data to NULL.
- * Fixed db_obj_get not handling deleted nodes correctly. (bugreport:999) [FlavioJS]
- 2008/02/17
- * corrected login_fd/char_fd being uninitialized in the char servers.
- * Added a check to prevent using consume-delay items when you cannot use
- skills, since that opens an exploit if the item also has non-skill-casting
- components to its script. [Skotlex]
- 2008/02/14
- * Removed/replaced all calls to map_getallusers (followup to r12195)
- * Trashed @whozeny (from r269) [ultramage]
- * Added some changes to @noks. Now it uses a SC and not vars in mob_data [Zephyrus]
- - Added support to Self|Party|Guild to @noks (default is Party)
- 2008/02/13
- * Changes to memory manager: [FlavioJS]
- - fixed blocks that are fully used not being detected (and not freed) in
- memmgr_final (unfill_prev is NULL for unused blocks and full blocks)
- - fixed memmgr_final giving the wrong address to _mfree (for small blocks)
- - added the pointer address to most error messages (and log)
- - made it append to the log file instead of rewriting it
- - implemented a function to verify if a memory location is active
- - other minor changes
- * Merged memory manager updates from old jA revisions (bugreport:663) [ultramage]
- - less overhead and better overflow detection (caution, experimental!)
- * Added some security checks in mail system [Zephyrus]
- - This supose to fix a bug reported in 622 to limit to MAX_ZENY.
- - Also add more checks to free space in your inventory to receive items.
- * Added some new config settings: [Zephyrus]
- - homunculus_autoloot, idle_no_autoloot, max_guild_alliance.
- - Added a code to activate a Kill Steal protection and the required mapflags.
- 2008/02/11
- * 'Forget me Not' no longer blocks ASPD bonuses from working or prevents
- their re-casting, they are simply dispelled when the effect takes place.
- * Fixed a possible crash when a player logs out before their create-party
- request is accepted. [Skotlex]
- * Expanded the script command 'input': (bugreport:811) [FlavioJS]
- - two new optional arguments 'min' and 'max'
- - return value indicating if it's in the correct range
- - config variables for the default value of the arguments:
- 'input_min_value' and 'input_max_value' in script_athena.conf
- 2008/02/10
- * Added two missing opt2 values, for Angelus and Bleeding status
- * Fixed Warp Portal code sometimes producing errors/crashes in the case
- where a priest enters his/her own warp (bugreport:270)
- 2008/02/08
- * Fixed wrong message in item group loading code (bugreport:936)
- * Fixed 'charisalpha' not working for the first char (bugreport:940)
- * Disabled signed/unsigned warnings for visual studio 2005 [ultramage]
- 2008/02/07
- * Fixed the disguise commands using the wrong variable when attempting to
- disguise as an npc.
- * Corrected and optimized npc_remove_map's npc array cleanup (Fixes
- @reloadscripts reporting 'too many npcs per map' and related dangling
- pointer crashes).
- * HP loss item scripts can no longer kill you.
- * Corrected the item-drop-rate check to avoid duplicate entries in
- @whodrops after a @reloadmobdb. [Skotlex]
- 2008/02/04
- * Some code cleanups. [Zephyrus]
- - Added new Cell types (NoChat and NoDamage)
- - Added JobChangeLevel and FreeSKPoints to #stats
- - Added a Crash protection in clif_send with invalid fd values.
- - Merged a missing update in TK Mission.
- - Added script command 'getmapflag'
- 2008/02/03
- * Fixes to Devotion (see topic:153345) [ultramage]
- - removed totally fake Devotion packet from Marionette Control code
- - fixed one devoted chars array management code bug which caused chars
- to be included in the array multiple times, producing various problems
- - the link will now re-display when coming into view range
- - the link will no longer break if the devotee walks away, but instead,
- if he receives damage while being out of range of Devotion
- * Added an iterator to map.h/c. [FlavioJS]
- Will be used instead of map_getallusers, which has problems with
- dangling pointers (returned array isn't updated).
- 2008/02/01
- * Fixed sql charserver crashing sometimes (bugreport:870) [ultramage]
- 2008/01/29
- * Plagiarize can no longer copy skill levels beyond their max skill_db
- value.
- * Modified pc_dead so that the src is passed on to the master when it is a
- pet or homunculus. [Skotlex]
- 2008/01/26
- * Small update to the dgbhelpplug plugin: [FlavioJS]
- - fixed only half of wide character strings being printed
- - fixed the memory validity check in Dhp__PrintDataValue being optimized
- out in release mode
- 2008/01/25
- * Updated conversion tools for mob_db & item_db
- * Updated SQL Files (item & mobs) [Toms]
- 2008/01/21
- * Fixed battle config loading not applying the side-effects of
- battle_adjust_conf() side-effect if an import: operation fails.
- This is what caused the odd slowdown reported in bugreport:260.
- 2008/01/20
- * Fixed item searches not working on exact "jname" matches.
- * Fixed hom_setting&0x2 conflicting with the 'view-range' limit check.
- * Merged the SA_MONOCELL and SA_CLASSCHANGE code. After changing class all
- the status changes that cannot be triggered on bosses are dispelled.
- * SA_CLASSCHANGE now uses the bloody branch list to pick a target MVP
- class. [Skotlex]
- 2008/01/19
- * Added plugin dbghelpplug to generate more extensive crash reports in windows. [FlavioJS]
- - see header of src/plugins/dbghelpplug.c to know it's capabilities
- - VS8 project file supplied at vcproj-8/dbghelpplug.vcproj
- - a dll compiled in release mode is supplied at plugins/dbghelpplug.dll
- 2008/01/17
- * Made battle_check_range fail whenever the distance between src/target is
- greater than the viewing range. [Skotlex]
- * Icewalls can no longer be knocked back (see bugreport:38)
- 2008/01/15
- * Manner system fixing [ultramage]
- - better-than-aegis 'red bubble' packet updates; now it shows correctly
- - added support for /rc, which is basically mute for 60 minutes
- - fixed typo in r12076 making gm-mute start on the gm instead of target
- - fixed @mute not ending the status properly when using negative values
- - adde missing clif_manner_message(), sends info about manner updates
- 2008/01/14
- * Fixed missing mob_spawn call, which was making CR_CULTIVATION not
- actually spawn the plant. [Skotlex]
- * Client packet corrections
- - 0x01df is not 'gmreqnochatcount', but for requesting a player's
- account name via right-click menu (which currently can't be done)
- - added /remove and /recall, aliases to /shift and /summon
- - added /changemaptype, which alters a single cell's gat type
- - gm kick will no longer exit the client (now it goes to the login screen)
- - removed the quicksort invocation in /ignore code
- * Fixed card removal script functions' 'extra card' bug (bugreport:786)
- * Removed the hardcoded limit for numeric npc input boxes (bugreport:811)
- * Applied a temp patch to make some npc-executed atcommands work again
- * Added support for right-click-gm-menu kicking NPC objects [ultramage]
- * Fixed dangling pointer crashes when bleeding or Deadly poison kills a
- spawn-once monster.
- * Fixed a possible ERS entry corruption when Deadly Poison kills a target
- that has kaizel active.
- 2008/01/13
- * Fixed a possible ers_entry corruption if you die from bleeding while
- under the effects of kaizel.
- * Updated Safety wall so it does not blocks melee magic. [Skotlex]
- 2008/01/12
- * Another possible fix to ers/status_change crashing.
- - same logic as r12058 but in status_change_timer.
- - look out for this error: "[Error]: status_change_timer: Unexpected NULL status change id: ### data: ###"
- getting it means that a crash was avoided and the culprit found.
- * Modified npc_parsesrcfile to read the file as binary and let sv_parse handle LF/CRLF line endings.
- * Possible fix to ers/status_change crashing. [FlavioJS]
- - this patch is untested. Didn't find anyone willing to test it and I can't
- reproduce the crash so can't test the patch.
- symptom:
- status_change_entry.timer is being modified after the entry is freed.
- ers uses that memory location as a pointer when the entry is freed,
- it crashes when accessing the contents when it points to an invalid location.
- assumption:
- status_change_start starts an already existing status.
- as a consequence of something called inside status_change_start the status is ended.
- when the sce is finally being modified, it's modifying a freed entry.
- 2008/01/11
- * Implemented the extra damage bonus to TK_JUMPKICK when it is used while
- running (however what the bonus's equation is has been lost to time, so
- someone else correct it).
- * Corrected CR_CULTIVATION to cause summoned plants to expire after 5
- minutes.
- 2008/01/10
- * Fixed getmonsterinfo to return "null" when returning the name of a
- non-existing mob instead of -1.
- * Corrected CR_CULTIVATION to fail when the target cell has some BL_CHAR on
- it already.
- * Script command percentheal will no longer kill the player if the
- specified amount is negative (and not -100).
- * Fixed Abracadabra unable to cast non-targeted skills (bugreport:186)
- * Another round of login server cleaning [ultramage]
- - fixed passwordencrypt on SQL not behaving correctly (since r10753)
- - corrected some column lengths in the login db (username, password,...)
- - fixed some places which used wfifo without first reallocating it
- - removed interserver packet 0x7532 (Request to end connection), as
- there was no code that actually sent this packet
- - moved RFIFOSKIP actions to execute as soon as possible
- * Corrected @slaveclone/@clone behaving as @evilclone when you change the @
- symbol.
- * Modified SC_ARMOR_ELEMENT so it grants elemental resist as if it they
- were card granted bonuses.
- * fixed a SA_DISPELL crash when casted on an object with no status changes.
- 2008/01/09
- * Script command warpportal now places a warp in its initial state (as if a
- real warp portal was casted).
- * Updated dispell to also not remove the following effects: Hindsight, Inc
- Hit/Atk Rate (NPC_POWERUP), Nen, TK stances and tumble, warm and speedup1
- (the other speed potion).
- * Chase-walking characters can now loot.
- * Hiding characters can't drop items now. [Skotlex]
- 2008/01/08
- * Added missing session auth checks to charserver. [ultramage]
- Packets from non-authed clients will now be discarded.
- * Fixed Wand of Hermod not starting the SC_HERMOD status change (which
- blocks spells)
- * Fixed additional def/mdef from vit/int bonuses being lost when a status
- change that affects def/mdef triggers (for homunculus) [Skotlex]
- * Added missing code to log main chat messages sent by whispering
- to main_chat_nick (bugreport:424) [ultramage]
- 2008/01/07
- * Small change to potion pitcher to allow potion healing rate item effects
- to be included in potion pitcher's heal rate. [Reddozen]
- * Changed the code in status_change_timer so that a null pointer no longer
- causes a crash but prints an error instead.
- * Corrected clones not copying over a player's skills properly. [Skotlex]
- 2008/01/06
- * Extended the id range for npcs, now [400,700) will also be treated
- as NPC objects (see topic:170845 and bugreport:727) [ultramage]
- * Fixed a visual itemdupple bug on mail system. [Zephyrus]
- - Fixed Overthrush status cannot being recalled at same skill lvl.
- 2008/01/04
- * Fixed a mistake in r11991 that let knockback work through walls
- * Modified the map_setcell() code to to use a boolean flag instead of
- needing SET_ / CLR_ pairs of defines (topic:174323) [ultramage].
- Also removed script object 'setcell', added script function 'setcell'
- - Now you can manipulate cell information without needing @loadnpc
- - You can also manipulate the terrain ('gat') type itself, using the
- new cell_walkable, cell_shootable and cell_water constants
- (currently the implementation uses bit flags too, so to get the type
- you want, you need to adjust the flags one by one)
- - This breaks current scripts, so please adjust places that use setcell
- (also be sure to _only_ use predefined constants, not direct numbers)
- - Details can be found in the script reference.
- * Fixed Music Lesson's effect on Assassin Cross of Sunset.
- * Fixed a possible crash in status_change_timer when debug mode is
- disabled. [Skotlex]
- 2008/01/03
- * Changes to reduce the number of map cell types
- - Pneuma now again works via status change (see r3969)
- - removed unused CELL_SAFETYWALL
- - removed custom CELL_REGEN, it just increased regen rate (r1192, r1518)
- * Fixed npc unloading not clearing NPC touch cells (bugreport:595)
- * Map cell mechanism rewrite (bugreport:426)
- - defined a data structure for map cells (replaces 3 various cell arrays)
- - both terrain (gat) and dynamic (cell) information is now stored as
- C-style bit flags instead of #defines and bitmasks
- - added map_gat2cell() and map_cell2gat() for terrain type conversions
- - changing terrain information via 'setcell' is temporarily disabled
- - mapserver startup now takes longer, as it needs to adapt mapcache data
- to internal representation, cell by cell (new mapcache format anyone?)
- * Moved extra junk from map_addblock/map_delblock to where it logically
- belongs (loadendack/unit_remove_map), removed flags and _sub macros
- * Removed map_data's block_count, as (quote Yor/ja2160),
- "Perhaps useful for debug, but uses memory AND CPU for nothing."
- (block lists are linked lists, they don't need count tracking) [ultramage]
- 2007/12/31
- * Fixed a crash in txt char-servers that the memory manager was hiding.
- online_char_db being used after being destroyed (since r4026)
- * Added code to reject double logins in clif_parse_WantToConnection and
- added debug messages to detect possible double logins that escaped.
- * Isolated accounts that are waiting for the quit ack. The rest of the
- game logic no longer has access to them though the id2sd/charid2sd dbs.
- 2007/12/30
- * Fixed get_val2 not using the stack, which automatically frees the data,
- causing memory leaks for string variables since r11976.
- (bugreport:723 , part of bugreport:714 and part of bugreport:708)
- * Trully fixed the previous commits. (missing cast and incomplete size)
- * Made the memory manager set allocated memory to 0xCD and freed memory
- to 0xDD. The memory manager no longer 'hides' uses of freed memory.
- 2007/12/29
- * Fixed two missing @LDFLAGS@ in src/plugins/Makefile.in. [FlavioJS]
- * Implemented THE official Steal skill equation and game mechanics
- (basically version from /stable plus a few tweaks) (see topic:116540)
- * Added missing bAddStealRate reference to doc/item_bonus.txt
- * Removed skill_steal_rate, as it was never used in the code (see r231)
- * Removed skill_steal_type, it's just a one-liner source mod (see r231)
- * Knockback now works through cells where there is a diagonal path, but
- no horizontal+vertical (two 90` icewalls with a gap where they 'join')
- * Some dead code removal in path.c [ultramage]
- 2007/12/28
- * Fixed a memory leak in memitemdata_to_sql.
- * Reverted a bad modification in clif_produceeffect from r11290. [FlavioJS]
- 2007/12/27
- * Removed an incorrect range check and fixed a copypaste typo which
- caused script engine errors / crashes (see r11984)
- * Re-added a missing mob last_thinktime timer initialization when a mob
- spawns, causing mob AI to freeze (mistake in r11964) [ultramage]
- * Changed the configure script:
- - refined the mysql test (wasn't detecting 64 libraries compiled without -m64)
- - added a test for clock_gettime in -lrt (required for Debian)
- * Corrected description of scope and npc variables in script_commands.txt.
- * Made temporary character string variables not have a limited length.
- (now all temporary string variables don't have limited length)
- * Made temporary character variables reuse free positions.
- * Tweeked the declaration and initialization defines for vectors.
- * Made do_sockets leave the for loop as soon as the readable number of
- sockets returned by select is found.
- * Made all posix compliant systems that support it and FreeBSD >= 5.1
- (implements it but doesn't have the posix defines) use the precise and
- consistent tick() implementation.
- * Minor tweek to HEAP_SEARCH (same variable can be used in from and to).
- * Fixed the map server not exiting when make_listen_bind fails and
- returns -1. [FlavioJS]
- 2007/12/26
- * Fixed the incorrect interpretation of the map-cell height information
- stored in .gat files; this was causing an overall of 20000 cells to
- be treated as water when officially they aren't [ultramage]
- * Fixed string variables dereferencing directly to the value instead of
- dereferencing to a copy of the value. (fixes bugreport:684 bugreport:641) [FlavioJS]
- 2007/12/23
- * Added a generic vector implementation (dynamic array) based on defines. [FlavioJS]
- * Fixed horrible handling of skill_abra_db which leads to memory corruption
- (depending on the contents of yor abra_db.txt file) [Skotlex]
- 2007/12/22
- * Fixed droprate overflows when going over rate 2000x [ultramage]
- * Corrected mob spawn utilization of the delay1/delay2 values (one is
- respawn delay base, the second is random variance added on top of it).
- Cleaned up related code. [Skotlex]
- 2007/12/19
- * Fixed yet another buffer overflow, in @adopt [ultramage]
- * Changes to the configure script. [FlavioJS]
- - fixed the 'pointers can be stored in ints' test not working
- - fixed the linker trying to build 64 bit executables with 32 bit code on
- x86_64 (missing -m32 flag in LDFLAGS)
- - made MYSQL_CFLAGS be built from the --include option to be more portable
- - made --with-mysql check if the optional argument is an executable file
- - make --with-pcre check if the optional argument is a directory
- - other minor changes
- * Corrected SC_MIRACLE to trigger Bless of the Stars on all defeated mobs.
- [Skotlex]
- 2007/12/18
- * Fixed a possible buffer overflow in @partyoption [ultramage]
- * Updated respawn time interpretation according to latest kRO update [Playtester]
- - this first time is the "min respawn time"
- - the second time is the "variance" which is added to the "min respawn time"
- * Corrected skill_db reading to properly trim the skill name/descs.
- * Added a mobid_db in map.c to handle mob lookups faster. [Skotlex]
- 2007/12/17
- * Added flag.server to indicate interserver sockets
- - replaces the previous way (setting 'client_addr' to 0)
- 2007/12/14
- * Guardian hp handling code removal (see bugreport:342)
- - removed guardian hp from the castle data structure, database,
- savefiles and various script functions (use upgrade_svn11915.sql)
- - removed guardian hp calculation and manipulation from the castle
- manager npc, now the hp values are updated by the server itself
- (glitch: when castle defense changes, all guardians are healed to full)
- - tweaked script function 'guardianinfo' to provide some data needed
- by the manager npc (currently available are hp, maxhp and visibility);
- also, it doesn't need a player attached to execute
- * Added a precise and consistent tick() function for freebsd [ultramage]
- * Wand of Hermode now dispells buffs only of allies.
- * Fixed some null pointer checks in status_change_end.
- * Corrected a crashy Warning message. [Skotlex]
- 2007/12/13
- * Fixed possible segmentation faults in the script engine.
- - some strings that can be freed outside the script engine were being
- pushed into the stack as constant strings
- * Disabled ers until recent crashes are fixed.
- - ers entries are being corrupted, probably by modifying them after they
- are released or by releasing something else
- * Abstracted the windows socket code so that all fd's are in the range
- [1,FD_SETSIZE[. (bugreport:604)
- - The socket of a fd is forgotten when executing sClose, so things that
- depend on the socket (like sFD_CLR) must be executed before closing.
- * Replaced the fd_set of the short list with a custom implementation
- (works like the linux fd_set). [FlavioJS]
- 2007/12/12
- * Some preparations for the guild script update [ultramage]
- - cleaned up npc event execution code
- - cleaned up guild data loading/saving code; to be improved later
- - removed dummy 'account name' expulsion list management code
- - removed columns 'rsv1' and 'rsv2' from guild member data
- - removed columns 'rsv1' 'rsv2' 'rsv3' and 'acc' from guild expulsion data
- 2007/12/11
- * Added query_logsql script command to perform sql commands using the log
- db connection.
- * Added some new cashitems and headgears.
- 2007/12/10
- * Cleaned up clif_setdisguise and fixed it for PACKETVER>=9.
- * Added missing range/skill-mask info to reflected damage (fixes autospells
- not triggering on it) [Skotlex]
- 2007/12/09
- * Modified npc_parsesrcfile to parse the line as a 'tab-separated values'
- string and added data truncation warnings.
- - enforces a stricter adherence to the format (no multiple tabs)
- - avoids sscanf matching spaces, new lines and carriage returns when '\t'
- is used in the format string
- * Added a generic 'delimiter-separated values' string parser to strlib.c/h. [FlavioJS]
- 2007/12/07
- * Fixed ensembles skills.
- * removed the timer heap correction code when the timers overflow since
- Flavio points out that it is not needed.
- * Modified a bit the changesex code so you get saved and quit before
- changing your sex rather than afterwards.
- * Cleaned up #changesex
- * Signum Crucis now works on bosses. [Skotlex]
- 2007/12/06
- * Removed the attempts to recover from invalid syntax in npc_parsesrcfile
- since they can produce incorrect results (spaces in sscanf can match
- \n's and company).
- * Made script_rid2sd report the script source directly and changed related
- return 1's to return 0's to avoid double script source reports.
- * Added missing return 0's after script_rid2sd is used and an extra error
- message in buildin_set/buildin_setd. [FlavioJS]
- * The default event script behaviour is to trigger on labels rather than
- NPCs now.
- * Removed several script config options which break NPC compatibility when
- you mess with them (event_script_type, event_requires_trigger,
- die_event_name, kill_pc_event_name, kill_mob_event_name, logout_event_name,
- login_event_name, loadmap_event_name, baselvup_event_name,
- joblvup_event_name)
- * LoadMap events no longer set the variable "@maploaded$" to the name of
- the new map. [Skotlex]
- 2007/12/03
- * Fixed a bug on Mail System. Removed the possibility to lost the attachment on
- a Map - Char server disconnection. [Zephyrus]
- 2007/11/29
- * pc_setoption no longer does view_data changes while disguised (as this
- breaks things) [Skotlex]
- * Random cleanup/documentation.
- * Made common/Makefile get the svn version from the src directory, not src/common.
- * Added a warning message to the install and uninstall targets.
- * Renamed all obj directories to obj_all, obj_txt or obj_sql in the
- makefiles (if an obj/ directory exists, BSD make enters it before
- reading the makefile) [FlavioJS]
- * Allowed disguising while riding a peco-peco (this does not seem to cause
- problems anymore).
- * The pvp rank packet is no longer sent to other players when disguised, as
- this leads to crashes when you die.
- * Probably fixed splash damage.
- * Reflected spells no longer cause knockback.
- * SG Blessing skills now grant the extra experience to everyone when the SG
- killed the mob.
- 2007/11/28
- * Applied the required changes to handle def as a signed char (allows for
- negative def)
- * Corrected skill_check_condition to not delete items right away for
- certain skills that do the deletion themselves. Fixes several skills
- consuming items twice.
- * Dispel's success rate is no longer affected by MDEF
- * You are no longer blocked from being warped when standing in a warp while
- in a duel.
- * Duels are now automatically ended when you warp out of the map you are
- in. [Skotlex]
- * Fixed reflected spells bypassing WoE no-knockback restriction, because
- the code allowed that when cast on self; not anymore (bugreport:231)
- * Reverted the position of the max_hp/max_sp basic setting, modified the
- max_hp/max_sp bonuses to use casting in order to work correctly with
- negative bonuses. [Skotlex]
- * Reconstructed a list of all PACKETVER types, by reverse-engineering
- it from places in the code where the define is used [ultramage]
- - recovered PACKETVER 6 which was added in r51, but overwritten by r141,
- one of the dumbest commits that I have seen so far
- - since 6 was the 'new trade window' update, it and its corresponding
- reply packet will now be used from now on instead the old version
- 2007/11/27
- * Added safesnprintf to strlib.c/h (bugreport:372) [FlavioJS]
- * removed login/char server_fd[] arrays, added server[].fd instead
- * TXT/SQL login server code synchronization [ultramage]
- - exported several core structures to login.h
- - split off ladmin communication code from the TXT login server
- - removed all occurences of login_log(); a unified function should be
- added when SQL's loginlog_db logging code gets synced with TXT
- - removed conf setting login_log_filename
- - fixed ladmin getting timeouts since the ping system was changed
- * Moved basic max HP/SP calculation to before parsing equipment, fixes
- negative absolute HP/SP bonuses not working.
- * Corrected the online_data_cleanup routine setting offline characters that
- are still connected to the char-server.
- * Added a check in script command sc_end to properly end infinte endure
- * ASC_BREAKER no longer triggers status effect cards. [Skotlex]
- * Fixed fake_nd not being exported correctly and being unloaded when
- reloading scripts. (probably fixes bugreport:444) [FlavioJS]
- 2007/11/26
- * Normalized makefiles:
- - 3 sections: variables, public targets, private/support targets
- - object files always in a *_OBJ variable
- - header files always in a *_H variable
- - object files always generated to an obj* subfolder
- - all Makefiles can be executed individually, calling other makefiles if necessary
- - generic object targets when possible
- * Fixed buildin_query_sql using Sql_Query instead of Sql_QueryStr,
- wrongly processing all %f,%d,... (fixes bureport:218) [FlavioJS]
- * Fixed guild expulsion not working correctly [ultramage]
- * Fixed a memory leak in mail_savemessage (src\char_sql\int_mail.c). [FlavioJS]
- 2007/11/25
- * Rev. 11804 Giant Fly Wings are now blocked on noteleport maps and duels. [L0ne_W0lf]
- 2007/11/24
- * Fixed a crash when Slim Pitcher is cast
- * Fixed a crash when a taekwon hits a wall while Sprinting (bugreport:483)
- * Added support for latest official client/server packet changes [ultramage]
- - enable by setting PACKETVER to 9; note that this breaks older clients
- 2007/11/23
- * Changed the status_change structure to use dynamic rather than static
- memory to hold the individual status changes, this should have a noticeable
- impact on the server's memory consumption. However, since this is a pretty
- large update (and I am unable to fully test all possible situations
- relating to status changes), watch out for any bugs. [Skotlex]
- 2007/11/22
- * Moved the reset of references to after the empty script checks in
- parse_script. (fixes bugreport:222 and bugreport:449)
- * Renamed fakenpcname to setnpcdisplay, fixed and extended it. [FlavioJS]
- - See doc/script_commands.txt for information on how to use it
- * Modified mapserver login procedure to make clients from may 2007
- and newer not crash when entering mapserver (bugreport:468) [ultramage]
- - this changes PACKETVER to 8, causing incompatibility with old clients
- - this makes the "Login" hex obsolete; please stop using it as it
- causes a conflict with this update and may have negative sideeffects
- 2007/11/21
- * Fixed Sql_SetEncoding not setting the encoding of the connection
- properly. (fixes bugreport:30)
- * Added backward compatible target 'conf' to the Makefile. [FlavioJS]
- * Changed Lif's Emergency Avoid to just get a normal skill delay
- (blocks all skills, cancelled by mapchange / re-summon) instead of
- getting a persistent block on only this one skill (bugreport:13)
- * Homunculi now reset their can-act delay on call/resurrect/mapchange
- (allows bypassing delays by doing rest/call instead of relog) [ultramage]
- 2007/11/20
- * Implemented SL_SUPERNOVICE erasing the death record 1% of the casts.
- * Implemented current exp being capped to the exp required to level up from
- the previous level when we are at max level (required for some S. Novice
- buffs) [Skotlex]
- 2007/11/19
- * Nullpo's disabled on release builds.
- * Added timestamps to the log of memory leaks.
- * Moved definition of __func__ to cbasetypes.h.
- * Configure script updated:
- - added option to select the memory manager
- - added option to enable MAPREGSQL
- - added option to enable DEBUG
- * common's Makefile deleting svnversion.h on 'clean' target. [FlavioJS]
- 2007/11/18
- * Implemented a small change that was long overdue: Displaying the
- char-select screen now uses a single SQL query instead of up to 9.
- [Skotlex]
- * Replaced jA's way of allocating npc shop data with a simple dynamic
- array that gets allocated during loading and freed on unload
- - automatically fixes bugreport:404, which would otherwise require
- manipulating the npcname_db (the original author didn't, hence the bug)
- - now a supporting variable 'count' is used for tracking the length
- instead of an extra dummy entry at the end of the shop list
- - partially removed the MAX_SHOPITEM restriction (if this was written
- properly, the system could support an unlimited amount of entries)
- 2007/11/17
- * Removed battle_config.error_log as console_silent already handles this
- * Made OnTouch zone dimensions be stored as radius instead of diameter
- - cleaned up some overly complicated area calculations [ultramage]
- 2007/11/16
- * Added 2 new status changes for Life and Regeneration Potions [Zephyrus]
- - Fixed some items boxes giving wrong tamings.
- - Fixed another item giving 48 gladius[3]
- * Added error messages when trying to place objects on invalid map coords
- * Fixed Divine Protection working against players (bugreport:410)
- 2007/11/15
- * Fixed some homunculus skill offset calculation mistakes (bugreport:363)
- 2007/11/14
- * Fixed skill_castnodex_db.txt not being parsed correctly
- * Fixed a search&replace typo in skill_db.txt
- * Added error reporting for invalid rows in skill db files
- * Added error reporting to buildin_warp when it fails [ultramage]
- 2007/11/13
- * Fixed homunculus skills having unlimited range instead of being
- capped to view_distance+1 (for details see bugreport:376) [ultramage]
- * Fixed @addwarp crashing the map server (bugreport:390). [FlavioJS]
- * The Forget-me-not status now behaves like Decrease AGI [ultramage]
- - doesn't cancel Impressive Riff, Wind Walker, True Sight (bugreport:187)
- - additionally, it doesn't cancel Cart Boost
- * Fixed some bugs on mail system. [Zephyrus]
- - Added the pc_candrop check (bugreport:305)
- - Added picklog to mail.
- - Added INCMDEFRATE status for Mdef potion.
- 2007/11/12
- * Now when job changing to another class tree, status changes from skills
- that belong to your previous class are cleared. [Skotlex]
- * Applied Rayce's improvements to the npc script parser [ultramage]
- * Made on-touch areas work with walking npcs (is somewhat process
- intensive, but people do not really care about that, do they?) [Skotlex]
- * Fixed a bug in r11384 letting you bypass requirements for some skills
- 2007/11/09
- * Expanded weapon_type enum with dual-wield constants (bugreport:384)
- * Replaced several 'int' variables with enums that they represent
- * Re-worked the login-char-map packet spam mechanism
- - mapserver no longer sends entire user list to charserver every
- 10 seconds; similar change done to the char-login connection
- - user count updates are only sent when the value actually changes
- instead of servers polling each other every few seconds
- - the servers now prevent interserver connection timeout explicitly by
- sending ping/ack packet pairs instead of relying on the usercount
- polling to do so; keepalive is sent every 'stall_time'-2 seconds
- * Fixed socket.c checking time() incorrectly (bugreport:394) [ultramage]
- * Added a database iterator to db.c/db.h. [FlavioJS]
- 2007/11/08
- * Changed EXIT_SUCCESS back to 0 in console.c to avoid an unnecessary include.
- * Fixed gm_account_db not being deallocated in login-converter.c.
- * Refactoring names and documentation in db.h/db.c: [FlavioJS]
- - changed 'struct dbt' to 'struct DBMap' and 'DB' to 'DBMap*'
- - changed 'struct db' to 'struct DBMap_impl' and 'DB_impl' to 'DBMap_impl*'
- - changed COUNT to DB_COUNTSTAT and made it's existence not depend on DB_ENABLE_STATS
- - removed some @see links and corrected small typos in the documentation
- * Fixed a glitch where all packets immediately after the map->char
- login packet would get discarded and the mapserver disconnected
- * Synced charserver char creation creation code [ultramage]
- - removed most of the creation failure messages printed to console
- - fixed sql charserver letting you use control chars in char names
- - new chars will not start with the 'Knife' and 'Cotton Shirt' equipped
- anymore (charserver blindly placed magic values into the equip field)
- * Updated configure script: [FlavioJS]
- - small correction to the help text of --with-mysql and --with-pcre
- - added the -Wno-switch compiler option to suppress the
- "enumeration value '%s' not handled in switch" warnings
- * Added a new setting 'guild_skill_relog_delay' to activate the guild skills delay
- on Guild Master relog. [Zephyrus]
- 2007/11/07
- * Some updates on the mail system packets [Zephyrus]
- - Corrected the mail database structure on main.sql
- - Added separated packets for get and set attachment on mail system.
- 2007/11/06
- * Fixed a crash caused by a mistake in the previous change
- 2007/11/05
- * Changed skill db loading code to work similarly to how itemdb/mobdb
- is loaded (generic file loader + specialized function to process rows)
- - all skill db files are now checked for inconsistencies the same way
- * Corrected the max. allowed skill name length, and optimized code that
- works with skill names according to latest changes [ultramage]
- * Reverted official drop rate estimation [Playtester]
- - although it really exists we don't have enough information about it
- - if server owners really want it they can implement it themselves
- (it's just a one-line fix anyways)
- * Cleaned up skill db lookup code
- - added some well-behaved functions to replace macros (skill_get_index)
- - used skill_get_index() to replace often occuring blocks of code
- that did the skill_id -> skilldb_index calculation in-line
- * Corrected skill db loading code which was using a totally wrong
- column count in sevreal cases (or didn't do any checks at all)
- * Changed the skill_db.txt skill names in comments into actual columns,
- now the server reads these instead of a hardcoded array [ultramage]
- 2007/11/04
- * Implemented official drop rate estimation [Playtester]
- - estimation is rounded on 2 positions after decimal point
- - this will effectively raise drop rates below 10% by 0.01%
- 2007/11/03
- * Added jA script function 'strnpcinfo', for increased npc awareness
- 2007/11/02
- * Fixed one wrong return value in buildin_getcharid (bugreport:33)
- * Removed the big list of BUILDIN_FUNC() declarations in script.c,
- as they are not needed anymore and no code utilizes them
- * Moved the BUILDIN_DEF() block to the end of script.c [ultramage]
- * Modified trap related code so it behaves as explained by Playtester:
- Traps trigger on everyone in their 'effect range' (skill_db's splash) for
- every target that lies within its trigger range at trigger time (range and
- interval in the skill_unit_db). [Skotlex]
- 2007/11/01
- * Removed code that queues OnAgitEliminate after the Emperium is broken,
- this is now done properly by the gvg script instead [ultramage]
- - if you have any extra castles, update your scripts accordingly
- 2007/10/31
- * Added names to the SC_ and SI_ enums, now they can be used to properly
- indicate where such values are to be used (replaces usage of 'int')
- * removed MIN_/MAX_PORTAL_MEMO, set MAX_MEMOPOINTS from 10 to 3
- * removed support for @go-ing to your memo points
- * simplified the overly verbose @memo command; now re-uses pc_memo()
- * cleaned up pc_memo(), now uses semi-correct packet replies
- * Minor code cleaning/formatting [ultramage]
- * Updated several mapflags - 'nomemo' 'noteleport' 'nosave' 'nowarpto'
- 'restricted' - due to Izlude Battle Arena release. [SinSloth]
- - Updated 'item_noequip' and 'skill_nocast_db' to match with 'restricted' mapflags.
- 2007/10/29
- * Updated the mail db structure on main.sql [Zephyrus]
- * Makefile creating the conf/import forder. [FlavioJS]
- * command code cleaning (refer to topic:169759) [ultramage]
- - separated the execution part of command code into interface part
- and internal part to better see which checks are done and when
- (fixes problem where 'nocommand' mapflag blocked server npcs)
- - moved the internal commands list (array) to the end of the file,
- this let me discard that long block of ACMD_FUNC() declarations
- - removed enum AtCommandType from command headers and commands array;
- its purpose was perhaps to identify aliased commands, but apparently
- it was never finished because the rest of the code doesn't use it
- (also doing aliases like this is not a very good idea)
- - internally, commands are now referenced to using their function name
- - removed the @/# symbols from the command lists; all lookup functions
- will now properly deal with strings with- and without a command symbol
- (commands interface still requires the symbol tho', so TODO for later)
- - removed several unneeded commands (*id2 code, dmalloc debug commands)
- - reverted atcommand config from alphabetically-sorted to how it was
- before (with additional fixes; see /conf changelog)
- - added missing code for #dropall / #storeall
- - added a warning when trying to set gm level of an undefined command
- * The structure of the commands table has changed, please adjust
- docs/guides to match the new format (sorry for the inconvenience)
- 2007/10/28
- * Minor adjustment to take into account the end of line.
- * Fixed the line count in the new error message of npc_parse_function.
- * Restricted more the parsing of npc code. (fixes bugreport:317) [FlavioJS]
- * Fixed a bug sending on the attachment message [Zephyrus]
- 2007/10/27
- * Fixed a typo in r11505 messing up the 'npcmove' command
- * Removed 'petid', a command from r284 to look up pet ids by name
- * Fixed TXT charserver doing periodic random-sized alloc (bugreport:312)
- * Set 'Create Converter's produce success rate to 100% (bugreport:302)
- * Added check that verifies weapon/ammo/state requirements also when
- casting finishes (might have unwanted side-effects!) (bugreport:228)
- * Fixed Firewall knocking back undead/fire element mobs (bug in r11578)
- * Added dummy 'openmail' to txt server to fix a script error message
- * Improvements/fixes to the mail system improvements :) [ultramage]
- * Improvements to the mail system. Need Testing, [Zephyrus]
- 2007/10/26
- * Moved the new novending cell check from the internal code to the
- client-server interface (allows server to force-open shop if needed)
- * Removed confusing map_nick2sd_nocase(), let the charserver handle it
- * Added correct packet for attachment retrieval failure when overweight
- * Fixed one more mistake in r11571 (Sql->SqlStmt) [ultramage]
- * Removed the config setting firewall_hits_on_undead setting, Firewall and
- kaensin now automatically calculate the number of hits they should do per
- iteration based on the skill trigger frequency (you may want to raise that
- delay of 1ms in the db, though). [Skotlex]
- 2007/10/24
- * Corrected a fex misshaps from r11571:
- - disabling the memory manager
- - using the wrong length for the title and body in mail_savemessage
- * Removed the quick-fix in the npc duplicate check and the impossible condition
- that is generating the warning. [FlavioJS]
- * @/#jobchange no longer strips your equipment since pc_jobchange removes
- any unequippables already.
- * Removed the wasteful define MAX_PC_CLASS and replaced it by the
- CLASS_COUNT define + pc_class2idx function. This should save a bunch of
- memory from the map server.
- * Merged the CELL_NOVENDING code (see topic #129209) [Skotlex]
- * Increased the max. send buffer size to 5M since 1M is not enough
- * Updated vs7 and vs6 project files
- * Added upgrade_svn11548.sql to convert the mail table to new format
- * Cleaned up the mail code, no more pointless dynamic allocation
- * Cleaned up some messy guild code (more to come) [ultramage]
- 2007/10/23
- * Fixed a compilation bug on linux (FALSE -> false) [Zephyrus]
- 2007/10/22
- * Heat isn't supposed to consume SP when used against players [Playtester]
- - please report if it still consumes SP in pvp
- * Added the new mail system implementation (Requires more test and
- optimizations) [Zephyrus]
- - Updated the mail DB structure.
- * Removed some mail config settings and atcommands not required anymore.
- - Added documentation for script commands: openmail and homshuffle.
- 2007/10/21
- * Fixed a small mistake in r11503 causing a fatal error&exit on unix
- when you try to do a graceful exit (by ctrl+c for example) [ultramage]
- * Removed SC_INCAGIRATE/SC_INCDEXRATE as they are not used anymore.
- * Added SC_INCASPDRATE, SC_INCFLEE2, SC_INCCRI, SC_INCDEF, SC_INCBASEATK
- and SC_FASTCAST as these are required by the newer items. [Skotlex]
- 2007/10/20
- * Fixed 'unequip' removing items in the wrong position (bugreport:252)
- * Fixed #refine unequpping the caller's item by mistake (bugreport:265)
- * Fixed a nasty bug from r11410 which let people create chars with
- already taken char names, and (in TXT's case) even cause a crash.
- - Bug was a variable name collision between the total number of chars
- and a char's slot number (both were called 'char_num'). [ultramage]
- * Some more updates to the skill unit code [Playtester]
- - renamed SKILLUNITTIMER_INVERVAL to SKILLUNITTIMER_INTERVAL
- - Heat now depends on the interval settings rather than firewall_hits_on_undead
- - Icewall doesn't break anymore when the SKILLUNITTIMER_INTERVAL gets changed
- 2007/10/19
- * Added bonusautoscript and bonusautoscript2. These are used to attach a
- script to a player which gets executed on attack (or when attacked). This
- is very similar to the autospell bonuses, except that a script is executed
- instead of a spell. See doc/script_commands for indepth description and
- usage. NOTE that I am unable to test ingame, and even though I proofread
- the code it could have bugs. Feel free to test and report. [Skotlex]
- * Applied some cleanups that should correct "Infinite Endure" ending
- sometimes. [Skotlex]
- 2007/10/18
- * Rev. 11516 Uncommented the showwarning and showdebug from 11508. [L0ne_W0lf]
- * Fixed the incorrect map names on the debug messages (mapid->mapindex
- mishap from r11508).
- * Fixed the incorrect reporting of npc names being too long when the the
- length is 24 (from r11508). [FlavioJS]
- * Rev. 11511 Commented out ShowWarning and ShowDebug messages added [L0ne_W0lf]
- in revision 11508. Aside from the ShowDebug being faulty, they
- are both fare too annoying for public use for the time being.
- If/when I get the NPC names fixed, we can add it back.
- * Further optimization of the skill unit code [Playtester]
- - removed code for Crimson Fire Formation it now uses the same code as Fire Wall
- - added same knockback behavior as Fire Wall for Fire Formation
- - Heat now does 50 hits a second in pvp too
- - please let me know of any bugs that might appear
- * Optimized the skill unit code [Playtester]
- - reverted the unit timer interval to 100ms to save CPU usage
- - rewrote the unit code of Fire Wall, Fire Formation and Heat so that they hit
- every 20ms if the target wasn't knocked back despite of the unit timer interval
- - Heat now does 15 SP damage to players instead of 60 per hit
- - optimized memory usage
- - TODO: Renaming or removing firewall_hits_on_undead config
- * Clarified how npc names work in script_commands.txt.
- * Fixed a forgotten "return 0;" that stopped the parsing of the file
- after the first "script" of the file is parsed sucessfully (caused by r11502).
- * Applied the same parsing and restrictions of npc names to warps, duplicates
- and shops (other code expects unique names for them too). [FlavioJS]
- * Applied the new checking function to clif code, this fixes various
- length mismatches caused by incomplete code in r11386
- * Added clif_process_message(), an unified way to validate all four
- types of player message packets and retrieve their components
- * Removed the requirement to provide a character name in the message
- string when calling is_atcommand() (needed for the previous fix)
- - currently both ways work, but old will be removed in the upcoming
- command cleanup so please adjust your custom code if you use this!
- * Merged improved/cleaned up (WiP) code for clif_parse_WisMessage
- * Removed commented-out code for check_fake_id() [ultramage]
- 2007/10/17
- * Removed outdated copyright and version number from startup logo
- * Removed socket code that attempts to cope with code bugs at runtime
- * client_addr will now be properly set to 0 for server connections
- * Fixed subnet check message displaying incorrect ip addresses
- * Merged do_sendrecv() and do_parse() into do_sockets() [ultramage]
- * Reworked the parsing at npc.c.
- - Fixes npc.c discarding the '}' at the end of file, when there is no
- newline. (uncovered as a side-effect of r11487)
- * Empty script functions always have code now (won't report as missing
- when you try to call them).
- * Changed userfunc_db to not limit the name to 50 characters. [FlavioJS]
- * Ground skill now can trigger every 20ms [Playtester]
- - Firewall, Fire Formation and Heat now can do 50 hits a second
- - this was proven to be official behavior, but it will raise CPU usage
- * small timer.c cleaning
- - removed "with less than 4 values, it's speedier to use a simple loop"
- as this case will never occur (premature optimization from r1284)
- 2007/10/16
- * Venom Splasher fixes according to bugreport:230
- - added passive skillv*30% bonus from Poison React
- - added official splash damage calculation - damage gets split by the
- number of targets at range 1, then applied to all targets in range 2
- - reverted some very old code - clif_calc_delay() - that was preventing
- skills from displaying properly, by erroneously assuming that
- if the target has ddelay 0, it has endure effect activated
- * Fixed displaying of several splash skills (see bugreport:238)
- - added flag SD_PREAMBLE for skills that need the 'magic' packet
- (fixes Grimtooth / Cart Revolution displaying out of sync)
- - hacked together Venom Splasher's "no animation for central mob"
- - hacked in a custom packet to make Dragonfear display semi-correctly
- * Made Venom Splasher a splash attack that distributes damage
- * Commented out clif_skill_damage2() as it is not used anymore
- * Fixed a copy-paste mistake in disguise code (from r5833) [ultramage]
- * Tweaked the loop in parse_script to better handle when the outer
- brackets aren't checked.
- * Fixed a typo in skip_space that stopped skipping characters when it
- encountered a '*' or '/' in a block comment. [FlavioJS]
- 2007/10/15
- * Fixed NPC_CRITICALWOUND to reduce heal by 20% per level [Playtester]
- * Fixing TK Mission asigning non spawning mobs. [Zephyrus]
- * Updated the item price/sell reading code to enable 'null' values. The
- difference between a blank value and 0 is that when the value is blank, it
- should automatically take half/double the other value. The previous
- behaviour did this automatically and didn't let you specify, for example,
- if you wanted a given item to sell for 0.
- * Also added a warning when an item in the db has an exploitable price
- (through overcharge/discount). [Skotlex]
- 2007/10/14
- * Rev. 11476 Implemented new skill "Enlarge Weight Limit R", [L0ne_W0lf]
- and increased MAX_SKILL_TREE by 1.
- * Fixed charsrever crashes, caused by r11410 [ultramage]
- 2007/10/13
- * Fixed up NPC_POWERUP and NPC_AGIUP [Playtester]
- - NPC_POWERUP: 3x ATK and 2x HIT for 10+5*level seconds
- - NPC_AGIUP: 2x MOVE and 2x FLEE for 10+5*level seconds
- * Some further changes to the delayfix function [Playtester]
- - aftercast delay is at least amotion no matter what skill
- (this includes skills with cast time AND skills with skill delay!)
- - aftercast delay reductions can NEVER reduce the aftercast delay below amotion
- (this includes Bragi and Soul Links)
- * Again modified the delayfix function to reflect the current skill delay
- knowledge. Skills with 0 delay use amotion always (regardless of cast
- times) [Skotlex]
- 2007/10/12
- * Further updates to skill_delayfix function [Playtester]
- - aftercast delay can never be lower than amotion
- - please report if this broke any skills
- * Fixed wrong index calculation in TXT char creation code (ref: r11410)
- * Fixed SQL itemdb loading crash on NULL column (ref: 11398) [ultramage]
- * Updated the skill_delayfix function to behave as recently discovered by
- Tharis: Skills with no delay set will use amotion ONLY if the skill was
- instant-casted. [Skotlex]
- * Fixed Bragi's aftercast delay reduction [Playtester]
- 2007/10/10
- * Fixed itemdb_read_sqldb blowing up the server with segmentation faults.
- * Added an option for parse_script to ignore the checks for the set of
- brackets around the script. [FlavioJS]
- * Implemented more official Warp Portal behavior
- - the transition from active to waiting mode is now done as a simple
- appearance change instead of deleting one and creating the other
- - due to the above, an opening warp is now properly accompanied by
- the log-in like sound effect
- - Removed the check that prevented Warp Portal from opening after you
- picked the destination, if there was someone blocking the cell
- * Re-enabled packet 0x1ac to be sent when something gets ankle-snared
- * Partially removed the usage of 'flags' to direct the execution path
- in skill unit code (some people seem to really like flags >_>)
- - wiped out r8478 and its multiple levels of useless flag propagation
- - skill_unit_onlimit (expiration) no longer executes in skill_delunit
- - added skill_unit_ondelete for proper handling of this event
- * Removed 'into_abyss' effect on traps; tests show that it works ONLY
- for Gemstones (tho' iRO website claims otherwise) - bugreport:171
- - corrected code that was exploiting the flag as an 'expired' trap flag
- (replaced it with a more jAthena-ish approach)
- * Fixed a messup in r11347 causing skill units to expire, trigger
- or not trigger, completely randomly
- 2007/10/09
- * Added upgrade_svn11388.sql to correct some log column widths
- * Corrected string lengths according to bugreport:198 [ultramage]
- - CHATBOX_SIZE: 70 -> 70+1
- - removed some too aggressive checks in clif_parse_globalmessage()
- - removed CHAT_SIZE define as it actually doesn't apply anywhere
- - added CHAT_SIZE_MAX to serve as a custom limit to input string lengths
- 2007/10/08
- * Delayed the check for required items when a skill is cast to when they
- are consumed. Now skills only fail due to lack of items after being cast.
- - Please make a bug report if you know of any skill that doesn't work
- like this in official.
- * Fixed hp of other party members not being sent when you join a party.
- * Removed unused global array names_id and renamed some structures that
- are used with variables of the same name. [FlavioJS]
- 2007/10/07
- * Fixed a bug on sql char server not checking the namelength of a new
- character. Bug ID #184: Char Creation With An Empty Name [Zephyrus]
- 2007/10/06
- * the mapserver won't exit when no mapcache is found, with use_grf: yes
- * Fixed some \r uses, now looks better; /thx to Ai4rei (topic:165952)
- * Removed that ridiculous spinner that displays during map/npc loading
- - and added a more informative progress indicator (idea from jA/eapp)
- * Removed loads of code that supported these functions
- - -230b per npc => -3MB of wasted memory
- * Fixed related npcs that erroneously used 'stoptimer'
- * Checked/fixed/removed some old script and npc commands
- + cmdothernpc
- - a specialized 'donpcevent' with the event specified as two arguments
- + enablearena/disablearena
- - completely equivalent to enablewaitingroomevent & co.
- - do we need these 'synonyms' ?
- + inittimer/stoptimer
- - removed since its logic was incompatible with the code it depended on
- 2007/10/05
- * REALLY fixed emblem not displaying when a char logs in
- (compromise between r10624 and r11033 that hopefully works)
- * Fixed 'Wink of Charm' - shouldn't work on boss mobs (topic:166115)
- * Removed a broken remnant of code from old gospel code (r4349) that's
- _supposed_ to clear the gospel status (no item use?) when you step
- out of its zone; 1) the constant UNT_GOSPEL was used in a switch()
- instead of PA_GOSPEL (thus actually ending 'NPC_STUNATTACK' status),
- and 2) this code path is never taken, because Gospel is not recorded
- in skill_unit_temp[] (it has a periodic timer and is not DUALMODE)
- * Now the first empty spot in the 'skill_unit_temp' array will be used
- when tracking movement between land skills; reduced its length to 20
- * Fixed the skill unit mechanism that is supposed to track whether
- you're still standing in a certain land skill's AoE or not, which
- was not working correctly since the time it was added (r3133)
- - solves the nasty problem of Loki, Quagmire, ... status not ending
- even after stepping out of it in some cases, if there was another
- song overlapping the skill's area (fixes bugreport:34) [ultramage]
- 2007/10/04
- * Completed the SC_LIFEINSURANCE status and it's status icon. [Zephyrus]
- - Updated Item_db.txt.
- * Added SC_EXPBOOST (Field Manual), SC_ITEMBOOST (Bubble Gum) to const.txt.
- Allready working [Zephyrus]
- - Added SC_LIFEINSURANCE and SC_BOSSMAPINFO (not implemented)
- - Updated Field Manual and Bubble Gum in the itemdb.txt file.
- - As L0ne Wolf reported to me and based on Doddler information, the Bubble Gum
- only do a second try of the item drop, and it don't increase the drop rates.
- * Fixed a mistake in r10919 messing up logged values (bugreport:167)
- * Added code that compacts the vending list after a purchase; fixes
- the problem with empty positions appearing in the list (bugreport:168)
- * Corrected Icewall skill to be closer to official behavior
- - now works on occupied squares (previously it disappeared)
- - now you can walk out of an icewall square (removed code that blocked
- pathfinding if the origin cell was of a nonwalkable type)
- - added back the hack where mapcell changes are broadcast to whole map
- (prevents client from leaving the cells non-walkable if you warp away)
- * Removed integer mob skill state/target definition support (unused)
- * Added script source error reporting to countitem() (topic:167165)
- * Fixed a compile problem when hotkey saving is disabled (topic:167265)
- * Added MAX_HOTKEYS to supplement the HOTKEY_SAVING define [ultramage]
- 2007/10/03
- * Added the code for Bubble Gum (SC_BONUSDROP) and Field Manual
- (SC_BONUSEXP). items updated as it supose to work. [zephyrus]
- * Cleaned up parts of skill.c related to skill units [ultramage]
- - removed some nonsense code in skill_dance_switch() (from r8876)
- - removed 'security system to prevent forgetting timer removal' (r1213)
- - renamed some skill-related data structs (had same name as variables)
- - commented out custom Venom Splasher countdown messaging code
- * Bosses now can use teleport on Land Protector [Playtester]
- - Moved the homunculus shuffle code to mercenary.c, fixing the bug in the
- atcommand not using the bonus evolution stats for homunculus.
- - Adding a new script command "homshuffle" to fix homunculus using NPCs.
- 2007/10/01
- * Fixed various trading/vending glitches [ultramage]
- - fixed vending_tax not working at all (integer division in r10182)
- - undid change from r8273 where pc_getzeny() treated zeny overflow as
- an error condition; officially, the value is just bounded to MAX_ZENY
- (this fixes stuff like shops that you can't buy items from).
- - fixed stupid code that, instead of properly checking and filtering
- invalid items during shop setup, opted to 'hide' these items from
- the vending list instead...
- - removed some custom error message packets related to vending
- - fixed a glitch where the server would open a shop with no items
- when all entered items were tagged as invalid
- - split zeny handling from trade_tradeadditem() into a separate func
- - removed loads of redundant code from vending.c
- 2007/09/30
- * Removed redundant 'subnet' s_subnet structure variable. [ultramage]
- 2007/09/28
- * Changed back the query to get the friends of a character to a LEFT JOIN.
- * Setting the item script variables to NULL when they are freed. (bugreport:142 ?)
- (a double @reloaditemdb might result in a double free) [FlavioJS]
- * Rev. 11325 Corrected Summer Outfit not included as a PC class. (Zephyrus_CR) [L0ne_W0lf]
- * Rev. 11321 Implemented Summer Outfit care of Zephyrus_CR. [L0ne_W0lf]
- - Increased MAX_GUILDCASTLE in mmo.h to 29 for future implementation
- of the 12.1 Guild Castles.
- * Fixed sql target not including the save target in the Makefile, needed
- by the map server for save/mapreg.txt. (bugreport:131) [FlavioJS]
- 2007/09/27
- * Loot code using charid's instead of id's in pick priority.
- * configure script using svn:eol-style LF and require mysql/pcre when
- --with-mysql/pcre is used.
- * Reimplemented mmo_char_fromsql using sql statements. (fixes bugreport:93)
- * Fixed buildin_gethominfo not being included in the script engine. (bugreport:124)
- * homunculus_evolution -> homevolution in script_commands.txt.
- * Deleted item DEFAULT from item_db.txt and regenerated item_db.sql. (bugreport:103)
- * Skip empty lines and give more feedback (for invalid lines) when reading
- item_db.txt/item_db2.txt. [FlavioJS]
- 2007/09/26
- * Rev. 11307 Implemented Token of Siegfried effect care of Zephyrus_CR. [L0ne_W0lf]
- 2007/09/25
- * Modified a bit the hard/lazy ai triggers to match aegis (you can alter
- these changing the defines near the beginning of mob.c):
- - Mobs go into active AI when they are 2 cells from entering a player's
- view (ACTIVE_AI_RANGE)
- - Mobs in passive AI no longer use skills.
- - Mobs in passive AI do not random walk UNLESS they have entered active AI
- before (random walk frequency is not lost during passive AI).
- * Added an additional check to prevent support skills from being blocked if
- the target has an armor element that blocks it. [Skotlex]
- * Fixed the double free's caused by r11290 (wrong option in the database
- constructors). [FlavioJS]
- * Corrected being able to cast multiple Gravitation Fields before the
- previous one is cancelled. [Skotlex]
- * Disabled tick cache (to enable it: define TICK_CACHE to the number of
- calls that should be cached).
- * Added a charid2sd database for fast charid searches.
- * Reworked the nick cache to only contain offline characters. [FlavioJS]
- 2007/09/24
- * Ignore %MDef bonuses now only reduce target's base MDEF, not MDEF2.
- * Updated the 'skills that cause no damage are blocked now if the skill
- element is blocked by the target' to only apply if the skill has a status
- change associated (fixes Resurrection/Heal being blocked).
- * Added a warning to prevent loading mobs with IDs that belong to the clone
- range. [Skotlex]
- * Limited manual detection of data truncation to string/enum/blob columns.
- * Renamed conf-tmpl to conf. [FlavioJS]
- 2007/09/23
- * Added flag svn:executable to the configure script.
- * Added code for MySQL versions (below 5.0) that don't have
- MYSQL_DATA_TRUNCATED.
- * map_addflooritem and struct item_drop_list using id's instead of
- struct map_session_data's (fixes bugreport:36).
- * Fixed buildin_escape_sql not properly escaping in sql servers. [FlavioJS]
- 2007/09/22
- * Fixed a severe bug in inventory saving code (caused by r11192)
- * Applied changes to clif_parse_globalmessage() from my WiP code
- - clearer processing of the individual packet components
- - proper code ordering, some more integrity checks
- - fixes to some poorly chosen ShowWarning() format strings
- - global chat logging no longer logs the entire string (w/ player name)
- * Fixed global chat logging always crashing on a null pointer
- * Added 'safestrnlen' to prevent null pointer crashes [ultramage]
- * Updated sql files [Playtester]
- * Added a sanity check for MAX_ZENY (doesn't compile if too big).
- * Redid the buildin_query_sql function. (fixes bugreport:81). [FlavioJS]
- 2007/09/21
- * itemdb.c/h using a static array of 32k struct item_data* entries (faster
- itemdb loockup and a first step to remove map_session_data->inventory_data).
- * Fixed a typo in the configure script that replaced CFLAGS with CPPFLAGS
- when -Wno-pointer-sign is supported by the compiler. [FlavioJS]
- * Fixed a typo in the status-change saving code (wrong variable used)
- * Fixed a case of bad sql code conversion breaking homun skill loading
- * Corrected skill Charge Attack as described in bugreport:67 [ultramage]
- - cast time is between 100% and 300% (+ infinite waiting fixed)
- - damage is also between 100% and 300% (doesn't increase past range 9)
- - added knockback that's equal to the distance to target
- - no longer causes teleportation on WoE grounds
- - if target runs behind an obstacle, the skill will still teleport you,
- but will not perform the attack or do knockback
- - this should be official behavior, so enjoy the weirdness!
- * Makefile deleting .svn in save folder.
- * Limited the number of packets parsed per cycle to 3.
- * Fixed sql login throwing an out-of-place debug message and escaping too
- much of the name string when creating a new login with _M/F.
- * Configure script detects 64bit distributions of MySQL.
- * Generated the configure script with cygwin's autoconf. [FlavioJS]
- 2007/09/20
- * Merged the tmpsql branch: [FlavioJS]
- - Abstraction for the sql code (sql.c/h).
- - New configure script and makefiles.
- - Restored txt zeny logging code. (r10814)
- - Rewrote mapserver's sql code - itemdb, mobdb, mapreg, logs. (r10814)
- - Fixed a precedence issue (&& and ) in char_sql/char.c. (r10833)
- - Improved db reading code a bit for consistency. (r11077)
- - Added separate atcommand for mail deletion. (r11077)
- - Corrected a few messages that said "new" instead of "unread". (r11077)
- - Broadcast (*) messages now use "*" as the target's name (not ""). (r11077)
- - Moved StringBuf code from utils.c/h to strlib.c/h. (r11084 r11117)
- - Some misc login server cleanups (reformatting etc). (r11136)
- - Corrected/modified some header entries. (r11141 r11147 11148)
- - Adjusted VS project files. (r11147)
- - Adjusted the way the sql charserver does item saving. (r11192)
- - Corrected usage of reserved keyword 'friend' in mmo.h. (r11192)
- 2007/09/17
- * Several skills with a splash area (except ground based ones) will now hit
- Ice-walls when casted by mobs.
- * Cleaned up and fixed monster_ai&0x40 (chase through warps). It works
- correctly now regardless of the number of players on the source/destination
- maps.
- * Updated sql files [Playtester]
- * Applied various crash-protections to script commands that deal with the
- equip-position array.
- * Corrected and simplified the skill_magic_reflect function. Fixed damage
- reflection being based on the caster rather than the target.
- * Potions are now usable inside Gospel by the casting Paladin (as per Aegis
- tests done by AuronX)
- 2007/09/14
- * Some changes brought up by AuronX (see topics 160295 and 149176):
- * Gravitional Field is now a MISC type of attack.
- * Magic reflection now effectively switches the caster/target (after damage
- has been calculated). Moved magic return and Magic Mirror code together
- with Kaite.
- * Now when GTB completely blocks a spell, the spell animation will still
- come off, but with a single bolt and MISS damage.
- * Removed hom_setting&0x2 since Homunculus can be hit by land spells.
- * Monster Property now gives a Skill Failed message when attempted on
- players.
- 2007/09/13
- * Corrected SG Miracle to trigger per attack, not per walked tile. Trigger
- rate is now 0.02%
- * Corrected the warmth skills not clearing up correctly the previous field
- when you place another one down.
- * Corrected vit not affecting the HP bonus that Super Novices, Ninjas and
- Gunslingers get. [Skotlex]
- 2007/09/12
- * Fixed a typo in r11179 causing party invitation to fail
- * Added SI_STEELBODY properly (value from packet capture) [ultramage]
- 2007/09/10
- * Corrected /invite letting you invite people even if you are not the party
- leader.
- * Added some reply messages when you try /invite and a. the character is
- not found or b. you are not the party leader.
- * Added a check so that the 'save on crash' routine won't get stuck if it
- happens to crash while attempting to save characters.
- * People in chat-rooms no longer receive @main messages. [Skotlex]
- 2007/09/10
- * Added a safeguard to skill_get_unit_layout() against incorrectly
- defined layout ids (will give weird results but won't crash at least)
- * Fixed Firewall/Icewall being oriented backwards (no real difference..)
- * Removed some junk Landprotector/Graffiti code
- - Graffiti doesn't get placed randomly anymore
- * Icewall can now be cast on yourself
- - TODO: for some reason, the cell on yourself immediately expires...
- * Merged together functions clif_set0192() and clif_changemapcell()
- - also removed its "send to whole map" mode which is just plain wrong
- (although aegis actually does use it to 'inform' caster about changes)
- * Added config option to adjust exp gained by 'getexp' [ultramage]
- 2007/09/09
- * Removed bonus bAddEffWhenHitShort as it is unneeded and unused.
- * Corrected getpetinfo so it actually returns "null" when there's no pet
- and you request the name (the docs state it so).
- * Added gethominfo (which behaves in the same way as getpetinfo).
- * Corrected bonus3 bAutoSpell(WhenHit) to select target enemy (rather than
- self) for skills with inf self and inf2 'don't target self' (aka:
- auto-select target skills).
- * Corrected map_foreachinpath to do a wall check for targets beyond the
- initially selected tile.
- 2007/09/09
- * Modified bonus3 bAddEff/bAddEffWhenHit so that the last parameter is now
- passed directly as "trigger" flag. The possible trigger values are
- ATF_LONG, ATF_SHORT, ATF_TARGET, ATF_SELF. Explanation added to
- doc/item_bonus.txt [Skotlex]
- * Updated sql files [Playtester]
- 2007/09/08
- * Adjusted a spot that still blocked GL's skills on login [ultramage]
- 2007/09/07
- * Added support for the new party invite/reply packets from the latest
- client version.
- * Added auto-rejecting party/guild invites when the target is disconnected
- from the server.
- * Changed the default @Main format to prevent crashes in the newer
- clients.
- 2007/09/04
- * bonus3 autospell (and autospell when hit) will now select for spell
- target self when the skill is tagged a support skill.
- * Increased the amount of autospells that can be held at a time from 10 to
- 15
- * Changed the "autocasted strip skills don't have a duration" to apply only
- to Full Strip.
- * Magic Mirror's duration now is reduced /15 when used on players.
- * Removed bonus bAddDamageByClass since it is not needed, and implemented
- bAddDefClass which can be used for the same purpose (but previously was
- doing nothing).
- 2007/09/03
- * Added bonuses bSPRegenRate, bHPRegenRate. They behave like the opposite
- of bHPLossRate/bSPLossRate, making you gain x Hp/Sp every y ms.
- * Added bonus bIgnoreMdefRate, used to ignore a % of the target's mdef when
- using magic attacks (bonus2 will ignore part of the mdef of all targets,
- bonus3 receives a race argument)
- * You can now use bonus2 bCastRate to adjust the cast rate of a single
- skill.
- * Cleaned the code for bleeding (hp-loss) and extended it to handle regen
- as well.
- * Some small cleanups in the pc_bonus functions.
- * Removed bonus3 bHpLossRate since it was doing nothing and is not used.
- * Corrected bGetZeny bonus to be like in Aegis. The amount received is from
- 1 to the given amount, you can use negative zeny values to use an amount
- dependant on mob's level (amount*lv).
- * Updated doc/item_bonus.txt with all these changes.
- * Anti-Magic/Stone-Skin now increase/decrease def/mdef only and in an
- absolute mode (+20*lv rather than +20%*lv). Also the duration is greatly
- decreased (x/15) when used on players.
- * Now when a player uses a strip skill without having it in the skill tree
- (auto-casted) the duration will be 0, the equipment will be stripped
- without causing the status change that blocks reequipping.
- 2007/09/02
- * Added @whereis command (displays normal spawn maps for given mobs).
- Defaults to a lv10 command. [Skotlex]
- * Updated Refined Sakkat Box to give only 1 Sakkat instead of 10. [Paradox924X]
- 2007/08/31
- * Added some comments to clif_changechatowner()
- - totally broken, see the code + topic:163829
- * Implemented the chatroom display packet properly
- - now has 4 types: public, private, npc and non-clickable npc chatroom
- * Implemented the chatroom leave packet properly
- - now utilizes the 'kicked' flag when the user was forced to leave
- - TODO: banlist support to prevent re-entry, see jAthena code
- * Documented/cleaned up chatroom code and packetry [ultramage]
- 2007/08/30
- * Updated sql files [Playtester]
- 2007/08/29
- * Added bonus bSkillHeal to distinguish offensive skill damage increases
- from healing power boosts.
- * Moved battle_skillatk_bonus to pc.c, cleaned up the related skillatk
- bonus code to consider the skillheal bonus option. [Skotlex]
- 2007/08/23
- * Updated athena-start & start to Shazeya's hack. Please test them! [DracoRPG]
- - Simplest way is to run ./start that is equivalent to Windows runserver_sql.bat
- - To run TXT instead, edit the beginning of athena-start with proper filenames
- 2007/08/22
- * Fixed Dragon Fear's status change selection and duration.
- * Fixed Metamorphosis not displaying a speed-change update on the client.
- * Status changes that were blocked by element are no longer blocked,
- instead, now no-damage skills are blocked if they have an element which is
- absorbed by the target (This is the behaviour that Tharis believes is
- correct). [Skotlex]
- 2007/08/19
- * Set proper limits to drop rates, prevents int overflow during calc
- * Cleaned/clarified some #include relationships between headers
- - TODO: pc_read_gm_account() still accessses the RFIFO directly!
- * Again removed the IG_ list from itemdb.h (see r10100 and r10113)
- 2007/08/18
- * Fixed a deallocation mistake and some buffer overflows in npc_chat.c
- after doing rtfm@pcre.txt (all caused by incorrect usage of pcre api)
- * Removed underscores in npc_chat.c's variable names (easier to read)
- * Moved npc pcre-data deallocation from npc_remove_map to npc_unload
- 2007/08/17
- * Implemented the official dual-wield aspd equation [ultramage]
- - using 0.7 instead of 0.66 as modifier (so aspd will be lower now)
- - see topic:151132 for details
- 2007/08/16
- * Fixed eAthena's wrong interpretation of the respawn times [Playtester]
- * Added icons for NPC_CRITICALWOUND and NPC_SLOWCAST [Playtester]
- * Fixed npc chatrooms not being deleted on npc unload/reload (crash)
- * Modified chat code a bit for more clarity [ultramage]
- - replaced double-indirection on 'owner' with a normal pointer
- - separated some common functionality to 'chat_createchat()'
- 2007/08/15
- * Merged and completed Latio's work on server-side hot-key saving
- (http://www.eathena.ws/board/index.php?s=&showtopic=159388&view=findpost&p=884453):
- Now hotkeys are stored server-side (table hotkey in SQL servers, file
- save/hotkeys.txt for TXT servers). You can disable this behaviour by
- commenting out the 'HOTKEY_SAVING' define in mmo.h
- * Apply upgrade_svn11018.sql to create the hotkey table. [Skotlex]
- * Some serious code cleanups
- - adjusted @reloadbattleconf to not depend on variable ordering
- - changed all battle vars to 'int' (removes pointless duplicit coding)
- - added min, max and default columns to battle config data structure
- - added properly bounded values for these columns (or at least tried to)
- - battle-conf loading will now complain if it finds unknown settings,
- and will reject values that are outside of the allowed range
- - added CHATROOM_TITLE_SIZE and CHATROOM_PASS_SIZE
- - partially cleaned up chatroom manipulation code
- 2007/08/13
- * Modified map_foreachinrange so that you can also specify the max length
- of the path to use. The max_count field in the skill_db is used to specify
- this range for path-type skills (Sharpshooting, Kamaitachi and the NPC
- Breath skills.
- * Implemented the 'new' NPC skills described here:
- http://ro.doddlercon.com/wiki/index.php?title=Monster_Skills . It is mostly
- complete, but the new status changes (slow cast, critical wounds, etc)
- don't have any visual effects yet (icon or opt changes? I don't know if
- they should have). Also I could not find the unit_id for Evil Land, so it
- looks just like Sanctuary for now. Apart from those, the only skills which
- I couldn't get to display properly are the Breath skills (with the
- exception of Fire Breath).
- * Corrected gtb_sc_immunity setting not taking effect if your block value was
- the same (that is, if the config said 30%, then you would only get status
- change immunity at 31%, nor 30%) [Skotlex]
- * Fixed a small error in the script_commands documentation about getpartyleader. [Paradox924X]
- * Corrected skill-based hp/sp regen, expect slight increase [ultramage]
- 2007/08/10
- * Updated item_db.sql [Playtester]
- 2007/08/09
- * The new functions now clear junk from the output buffer [ultramage]
- 2007/08/08
- * Moved damage logging to mob_log_damage, now non-damage targetted (or
- splash) skills also get logged into the monster's 'damage history' which
- affects the exp-bonus per attacker setting.
- * Implemented the evolution stat growth bonuses for homunculus.
- * Updated the @homstats command to show evolution bonuses
- * Corrected initial intimacy of a newly created homunculus (should be
- 21/1000) [Skotlex]
- * Cleaned up junk left in the code by the mapcache/mapindex update
- - Added mapindex_getmapname(_ext) to help with ".gat" adding/removing
- - Moved related processing to the interface (prevents duplicity)
- 2007/08/07
- * Expanded isloggedin script command to support an optional argument (char id)
- * Expanded warpparty command to accept target "Leader", this will warp the
- party to the leader.
- * Added a summon structure to handle non-dead-branch mob-groups since the
- current implementation totally fails for mob groups that don't have MANY
- integrants.
- * Fixed mobs not attempting an IDLE skill right before unlocking a target.
- [Skotlex]
- 2007/08/06
- * Slightly deobfuscated the max-hp calculation functionality
- - fixed hp/sp calc code adding extra few points from item bonuses
- * Added a null-pointer check to skill_initunit() to prevent a crash
- * Added a while() loop to the client packet processor (for performance)
- * Added support for kRO 2007-05-14aSakexe langtype 0 login packet 0x2b0
- 2007/08/04
- * Removed weird mvp reward item drop behavior (see topic:160077)
- * Fixed Cart Revolution not transferring status effects on attack,
- and Cart Termination doing it when it shouldn't (see topic:156745)
- * Fixed #refine not accepting names with spaces in them
- * Fixed disguises not doing sit-down properly (missing self packet)
- broken since r6299 stable / r5833 trunk [ultramage]
- 2007/07/30
- * Updated sql files [Playtester]
- * Corrected pet taming code; items are consumed immediately and only 1x
- - TODO: add proper code for people who want delayed consumption
- 2007/07/28
- * Removed ridiculous refine_posword config switch
- - TODO: remove getequipname() func, it can be fully replaced by editing
- a few scripts, plus it doesn't do what the docs say it should do
- * Fixed a silly mistake in the main script engine loop ('pos' variable)
- * Fixed monter -> monster typos
- * Compacted some script function code (fewer LoC -> faster trac ^^)
- 2007/07/27
- * Simplified exp gain equations (now more FPU-friendly and precise)
- - also fixes the uninitialized variable problem... sorry 'bout that >.>
- * Changed the way hit bonus is applied.
- http://www.eathena.ws/board/index.php?showtopic=157438 [Vicious]
- * Cleaned up mob drop code, crashfix is still needed though...
- * Reduced ignore-list length to 20, added proper reply packet
- * Cleaned up some very poorly written pm-ignore code (see r141)
- * Fixed a typo in Warp Portal code displaying an incorrect map name
- 2007/07/25
- * Fixed a missing homunculus info packet when doing @refresh
- * Added support for character rename packet (only dummy code for now)
- * Added support for langtype-12 char deletion packet (tested, works)
- * Synchronized txt/sql charserver code a bit
- * Adjusted motd.txt to not crash new clients
- * Removed some dead code from the charserver (see r352)
- 2007/07/24
- * Fixes on Venom Splasher and the like (see topic:152975) [DracoRPG]
- - VS / Envenom / Throw Venom Knife poison chance raised to 10+4*lv %
- - Removed chance to be poisoned when hit if you're a VS time-bomb
- - Adjusted bomb timer to correct values (5.5+0.5*lv sec)
- - Removed damage boost from Poison React
- - Now ignores EDP damage boost
- - Prevented use on bosses
- - Fixes still needed for recast restriction and splash damage
- * Removed Emperium-damaging ability from Gloria Domini [DracoRPG]
- 2007/07/23
- * Changed the restricting mapflag for @jump from nowarp/nowarpto
- to noteleport. Adjust your scripts if you were using it this way.
- 2007/07/20
- * Corrected packet_db.txt. See topic:158382 for details.
- As a side-effect, the latest packet version is now 22 instead of 21.
- * Added a charserver config option for the character renaming flag,
- along with a detailed comment on what it's supposed to be. This
- eliminates all that "change PACKETVER to 8 and recompile" mess.
- * Moved PACKETVER back to clif.h, cleaned the related code a bit.
- 2007/07/18
- * Added delay_dependon_agi since people actually use and need it...
- * Small update to the effects list (new exe's effects by Au{R}oN)
- * No sending of the pet_equip packet when pet has no equip (thx2Skotlex)
- * Added back exp gain limiting for old formula to stop exploits (see r8177)
- * Now a message is printed when the packet_ver filter rejects someone
- * Renamed two structs using same name as variables (MSVC debugger issue)
- 2007/07/13
- * Fixed yet another script engine typo, this time in 'copyarray' [ultramage]
- 2007/07/09
- * Rev. 10872 Removed a comment I had placed on line 6879 in Skill.c. [L0ne_W0lf]
- * Rev. 10870 Alchemist skill "AM_CANNIBALIZE" ("Summon_Flora") now [L0ne_W0lf]
- summons the proper monsters.
- 2007/07/07
- * Fixed typo in 'deletearray' messing up the script engine
- * Added a check to pc_skill() to prevent crashes on unknown skill ids
- 2007/07/06
- * Cleaned up some nasty code related to skill_blown
- - split 'direction' value from flags
- - moved (almost) entire direction calculating code to the outside
- - bowling bash now has the 'suck-in' effect (knockback is now done
- in the direction you were last facing, not in your-target direction)
- 2007/07/05
- * Fixed pet equip and pet hairstyle packet sends [ultramage]
- * Fixed NPC_STOP's visual effect not clearing when the status ends
- * Corrected @homshuffle making the skill tree be lost.
- * Corrected homunculus skills being unusable if the master was sitting or
- inflicted by a disabling status (eg: petrify, stun)
- * Some fixes to the cell no stacking mod (mainly mobs would just get stuck
- behind each other and not properly surround you). [Skotlex]
- 2007/07/04
- * Fixed a copy-paste typo messing up script variables pretty bad D:
- 2007/07/03
- * Fixed a typo in script engine erroring when working with char params
- * Made Homun Resurrection only fail on cast-end (see topic:155223)
- * Re-coded 'soundeffectall'; removed the third parameter ('coverage')
- - adjust your scripts if you use this command [ultramage]
- * Defined out a problematic piece code in conv_num.
- * Added reporting of constant and param script data.
- * Fixed an incorrect check in menu script command. [FlavioJS]
- 2007/07/02
- * Undid the change from r10298, frozen status again modifies def/mdef
- 2007/07/01
- * TXT->SQL converter fixup [ultramage]
- - Added missing char_id insert which totally messed up the conversion
- - Fixed login converter ignoring many columns (although it had the data)
- - Pointed out that Login-stored account variable conversion is MISSING!
- - Pointed out that Status, Homunculus and Mapreg conversion is MISSING!
- - Blocked the config functions from exiting server when file not found
- - Finally added VS8 project files for this thing
- 2007/06/28
- * Added a missing line to enable @displayskill atcommand [DracoRPG]
- 2007/06/26
- * Changed the string hash of the script engine to SDBM.
- * Reporting information about script data when an error occurs.
- * More work on ticket #41 (array functions). [FlavioJS]
- 2007/06/22
- * Changed behavior of some guild-related code (according to X.4 tests):
- - removed code that prevented Homunculus Resurrection during WoE
- - logging in doesn't activate the 5 minute guild skill block anymore
- - non-Urgent guild skills can now only be cast on WoE grounds during WoE
- - all guild skills now have no cast delay (previously was 1 second)
- - casting guild skills will now block FreeCast sages from walking
- - Battle Orders and Regeneration are now instacast
- - Restoration now has a 10 second cast time, reducible only by dex
- - Urgent Call's cast cannot be reduced anymore (not even by items)
- 2007/06/15
- * Fixed script command sc_end not supporting the extra argument as stated
- in script_commands.txt.
- * Script command getarg supports an extra argument with a default value
- that is returned if the requested argument doesn't exist. [FlavioJS]
- 2007/06/11
- * Fixed NPC_PROVOCATION (now the casting mob doesn't keep attacking)
- * accumulated clif.c fixes [ultramage]
- - Fixed pet equip not displaying correctly at all
- - Removed old fixpos packet (the 'new' one is way smaller)
- - Fixed some major logical typos in the code, cleaned up many places
- 2007/06/10
- * Rev. 10745 Updated itemdb.h with the two new item group values.
- (38 and 39) Why are they static anyway? [L0ne_W0lf]
- 2007/06/09
- * Added 'nosave' mapflag to que_bingo for Bingo system purposes. [SinSloth]
- 2007/06/04
- * Fixed the compilation problem from r10668
- 2007/06/03
- * Fixed a bad copy-paste from r10028 letting players escape jail
- (char was dead on login, so statuses (SC_JAILED) couln't be applied)
- * Fixed missing client update when 'return to savepoint' fails [ultramage]
- 2007/06/02
- * Displaying op names instead of numbers in script engine errors.
- * Fixed a bug introduced in the last rework of the fame ranking.
- * Created safestrncpy that ensures the string is nul-terminated. [FlavioJS]
- 2007/06/01
- * Updated sql files [Playtester]
- * Fixed ircbot not processing new users
- 2007/05/29
- * Hopefully fixed the vsnprintf incompatibility
- 2007/05/28
- * Fixed an infinite char-server loop on the map connection [ultramage]
- * RFIFOREST returns 0 when the session is eof (input data is implicitly
- discarted).
- * Reworked the player fame update: [FlavioJS]
- - would crash if an invalid pos was received
- - the wrong player could be updated on certain conditions
- 2007/05/26
- * Identified several more glitches, too tired to fix these...
- * Fixed server not removing member minimap dot when you leave a guild
- * Fixed server not sending party/guild info when you enter a map
- * Fixed guild emblem not showing when you log in (caused by r5359)
- 2007/05/25
- * Fixed @statall giving you +99 stats instead of setting them to 99
- * Fixed npctalk and @npctalk displaying the # part of the name
- (client filters these when you request the name of the npc, btw...)
- 2007/05/23
- * Added new flag to skill_castnodex.txt, to allow per-skill tweaking
- of cast time and delay reducibility by item scripts (cards and such)
- * Fixed Martyr's Reckoning never triggering for gms with all skills
- * Added MO_TRIPLEATTACK and RG_SNATCHER to @skillall's skill filter
- * Made gm_skill_unconditional bypass skill blocking (guild timer, etc)
- * Reverted the weird delay_dependon_agi thing (r8923, r9055, r9059)
- * Changed a few memsets to strncpy (reading past buffer is a bad idea)
- * Sped up some memset operations (multiples of 4 are faster)
- * Fixed a typo in Chase Walk code, /thx to zephyrus_cr [ultramage]
- 2007/05/22
- * Updated sql files [Playtester]
- 2007/05/21
- * Since the fifohead mess is gone, fixed leftover bad code structuring
- * Removed the TURBO socket mechanism - it was in fact just using a
- variable to cache a few arithmetic operations (premature optimization)
- 2007/05/20
- * Fixed Chase Walk having a deactivation cast time (should be instant)
- * Changed status calc to allow value 0 stats; aegis allows
- negative values, but eA is unsigned in this regard, so ...
- * Added positional music effect to Battle Chant / Gospel
- - see r10588 on how to disable it if it annoys you ^^;
- 2007/05/19
- * Added Global chat and Main chat logging
- - lowered the priority of the 'logging off during gw' filter
- * Fixed server crashes when you use long hostnames (/thx to Ancyker)
- * Removed the wtf-y mmo_char_fromsql_short() from r2527 [ultramage]
- * Fixed drops of Thanatos Dolor & Thanatos Odium regarding the quest. [SinSloth]
- * SQL files fixup
- - extended convert_engine_myisam and added innodb version
- - changed the max. email length to 39 (to match value in source code)
- - added comment for storage/guild storage picklog entries
- - changed SETs to ENUMs, which is the proper data type in logs
- - fixed incorrect defaults, shortened mapname lengths to 11
- - use upgrade_svn10575_*.sql to apply changes
- * Removed the vsnprintf->_vsnprintf define for VS9 [ultramage]
- * Corrected the problem with countitem2 [ultramage]
- 2007/05/14
- * Updated sql files [Toms]
- 2007/05/11
- * Updated the effect list a bit, changes by Au{R}oN
- * Re-phrased the attacker flee/def penalty config descs [ultramage]
- Ref: http://www.eathena.ws/board/index.php?showtopic=150918
- * Attempt to fix unwanted teleporting of immobile mobs [Playtester]
- 2007/05/10
- * Adapted the shortlist to use a static array instead of a linked list and
- enabled it.
- * Added Buuyo-Tama's shortlist for send/eof sockets (defined out for now).
- * Replaced toupper/tolower in ladmin by TOUPPER/TOLOWER defines. [FlavioJS]
- 2007/05/07
- * Fixed warpwaitingpc not working (bug introduced in r10471). [FlavioJS]
- * Added a check to login_sql against too long db-stored emails [ultramage]
- * Removed an unused variable in script.c [Toms]
- * Fixed Converters not overwriting each other [Playtester]
- - thanks to scerez for the fix
- 2007/05/06
- * Removed the dependency on winsock.h for definitions, it's all winsock2.h now.
- * Minor documentation/re-coding in chat.c.
- * More work on ticket #41. [FLavioJS]
- * Fixed Red Pouch overriding nobranch mapflag [Playtester]
- * Attempt to fix Kyrie Eleison not castable on enemy players [Playtester]
- - please test, I can't double client to test it in pvp
- - don't forget to recompile before testing
- 2007/05/04
- * Added an optional read-from-GRF/GAT map loading system back in.
- - It can be turned on with the use_grf flag in map_athena.conf.
- - The conf/grf-files.txt becomes relevant again. [blackhole89]
- * Removed the cyclic map.h<->status.h dependency, which allowed me to
- also remove the annoying/memory-wasting MAX_STATUSCHANGE define
- 2007/04/30
- * Ladmin fixes
- - Added vs8 project file for ladmin
- - Replaced all occurences of printf in ladmin.c with ShowMessage
- - Fixed ladmin working with ips using the wrong byte orer
- * Fixed @jumpto displaying the incorrect player name
- * Added more safeguards to socket.c against socket ids out of range
- TODO: session[] array isn't explicitly zeroed; is that a good thing?
- 2007/04/29
- * Fixed login_sql ipbans not working
- * login server will now bind only after finishing the init phase
- * Tried and fixed md5 password encryption [ultramage]
- - login_sql was doing stupid things like re-using one pre-generated
- key for all connections, and escaping binary md5 data (destroying it)
- - added missing code to login_txt when creating new accounts, showing
- that storing passwords as md5 hashes never really worked for txt
- - removed PASSWORDENC's conditional compilation effect, now just a flag
- - greatly simplified md5 password checking code, credits to eapp
- * Internal changes to the script engine: [FlavioJS]
- - modulus division detects division by 0.
- dividing by zero stops the script and gives an error
- - underflow/overflow messages differentiated (warnings)
- - when a script function doesn't return a value, a C_NOP value is pushed
- instead (avoids stack corruption)
- - op_add merged with op_2+op_2num/op2_str
- - better type checking in the operators, int/string is never assumed.
- The script ends when an invalid type is found.
- - other minor code cleanups
- 2007/04/26
- * Corrected High Jump so it works on Guild Castles when WoE is off.
- * Moonlit petals now always knocks to the back of the character rather than
- pushing the character away from it's center.
- 2007/04/25
- * Modified the mob ai think time update after using skills from
- adelay/amotion to 100ms since the previous method adds a large delay before
- the AI activates again (which screws up with the timing of idle/walk
- skills)
- * NPC_MAGICALATTACK now starts a state similar to Sacrificial Ritual, in
- the sense that every normal attack afterwards becomes a Magical Attack. The
- skill duration is 15 secs. [Skotlex]
- * Added missing Rachel quest map [Playtester]
- * Ganbantein now deletes individual skill cells instead of the whole skill
- in the area it is casted.
- * Modified the mob total damage code to prevent overflows when mobs receive
- over 2kM damage. [Skotlex]
- * Spider Web / Fiber Lock status cannot be dispelled now [ultramage]
- 2007/04/24
- * All mob casted skills have a fixed range of 9 now.
- * Pressure no longer vaporizes plants.
- 2007/04/23
- * Fixed bug which totally broke item group bonuses.
- * Added warnings when setting a pvp/gvg flag removes the other flags on the
- same map (gvg and pvp can't coexist on the same map)
- * Removed the check that prevented you from casting soul-collect when you
- already have 5 spirits.
- * Corrected Magic Rod so it doesn't displays any skill-use animation until
- it triggers.
- * Corrected Steel Body's icon (it actually belongs to AutoBerserk)
- * Debuff on logout&2 is again set to default, instead of removing food
- bonuses now it removes Maximize Power, Maximum Overthrust and Steel Body.
- [Skotlex]
- * Extended the functionality of StringBuf - length and appending a string.
- * menu/select/prompt script functions support grouped and empty options.
- The selected option number is consistent with them.
- * More work on ticket #41. [FlavioJS]
- 2007/04/22
- * Corrected crash if itemskill is used without an attached player.
- * Removed range checks for autospells as per UltraMage Aegis tests.
- * Added chatID skill fail check to skill_check_condition
- * Corrected @refresh not re-displaying your spirit spheres nor re-setting
- your cloth dye.
- * Now the "number of attackers" in mob_dead is counted only from online
- characters on the same map.
- * Updated the autospell bonus scripts so you don't have to specify all the
- attack type criteria. If neither of BF_LONG/BF_SHORT is specified, the
- spell will trigger on both. If neither of BF_WEAPON/BF_MAGIC/BF_MISC is
- specified, the spell will trigger on BF_WEAPON, if neither of
- BF_NORMAL/BF_SKILL is specified, BF_SKILL is used if the trigger is
- BF_MAGIC/BF_MISC and BF_NORMAL is used if the attack is BF_WEAPON. This way
- the default when nothing is specified is
- BF_NORMAL|BF_WEAPON|BF_SHORT|BF_LONG. [Skotlex]
- 2007/04/21
- * Removed the +25% mdef, -50% def effect from Freeze status
- * Changed autocast skills, they now only work with normal attacks!
- Ref: http://www.eathena.ws/board/index.php?showtopic=138159
- * Fixed a few spots where attack_type was getting truncated
- * Hopefully fixed the cygwin + size_t problem (using stddef.h as source)
- * Added ntows() to properly handle that client port number deficiency
- * Adjusted the packet_db array for a more consistent look [ultramage]
- 2007/04/20
- * Cleaned up the doc folder. Removed outdated, untranslated, useless files
- and began normalizing a bit other ones~ [DracoRPG]
- 2007/04/18
- * Added MEXP overflow checks. [LuzZza]
- * Added bonus5 bAutoSpell/bAutoSpellWhenHit. The new parameter is used to
- specify when the spell should trigger (melee/range + weapon/magic/misc
- attack), see doc/item_bonus.txt for details. [Skotlex]
- * Changed some %lu to %u in login_sql/login.c because uint32 is now
- an unsigned int [Toms]
- * Discarded extra deflate function needed for afm reading [ultramage]
- - as a result, discarded the whole chain of support functions, .c files
- and includes needed to make that one function run
- - also removed zlib compile/link dependencies where they are not needed
- - reduced the whole zlib package into two core include files
- - adjusted makefiles / project files to reflect this change
- 2007/04/17
- * Massive at+charcommand cleanup, big thanks to HiddenDragon [DracoRPG]
- * Partially deobfuscated the grfio module
- * Finally fixed mingw problems, managed to build both TXT and SQL
- * Fixed the uint32 platform problem (Microsoft failed so I removed it :)
- * Removed the cbasetypes.h dependency from the mapcache generator
- * Removed some random compilation warnings [ultramage]
- * Small bugfixes and enhancements to the map cache generator [DracoRPG]
- 2007/04/15
- * Fixed 'randomtarget' picking dead characters.
- * Adjusted Spiral Pierce, Shield Boomerang and Shield Chain to use atk2
- instead of weight when used by non-players.
- * Adjusted skills blindAttack, SilenceAttack, StunAttack, PetrifyAttack,
- CurseAttack, SleepAttack, Lex Divina and Dispell to be area effect skills,
- if the used skill level has a splash-range different from 0.
- * Mob used Meteor Assault is able to hit icewalls now. [Skotlex]
- 2007/04/15
- * Fixed TXT char creation blocking characters with nonstandard names
- 2007/04/13
- * Committing some accumulated stuff [ultramage]
- - makefile typo, maps_athena typo, svn:eol-style native for some files
- * Changed the meaning of inf2=0x1000. Now it is used to "disable usage on
- enemies", which only works for non-aggressive (inf!=1) skills.
- * If a skill is party/guild only (inf2 0x400/0x800) it will also be
- castable on enemies if the skill's inf is 1 (offensive target)
- * Corrected the mob behaviour when it locks into an enemy it can't chase.
- Previously it would get stuck on a lock->unlock->lock loop, with each
- unlock resetting the "random walk" timer, causing the mob to just idle in
- place. Now they will attempt idle skills and no longer reset the "random
- walk" timer, so they behave as if they were in Idle state properly.
- * Now the bonus bAtkEle will be transferred directly to the weapon when the
- script is in the ammunition, and you are wielding a weapon that consumes
- ammo per atttack.
- 2007/04/12
- * Trade-requests now fail if the target is in a NPC.
- * Some cleaning of the castend_map code to prevent the menuskill variable
- from not being cleared if you made a choice but the skill was not triggered
- (due to silence, stun or whatever)
- * Cleaned up a bit the Charge Attack casttime equation, should prevent
- infinite casttime when the distance is 0.
- 2007/04/11
- * Now when an object changes speed, the old move-packet will be used on the
- next movement, which should update the object's speed from that point and
- on-wards. This is done since there appears to be no way to tell the client
- a given object's speed has changed.
- * Modified spirit of Wizard so that the consumption of 'Fragments' when
- blocking bounced spells will only consume 1 Fragment per skill casted,
- regardless of how many hits were reflected.
- * Modified status_get_sc_def to handle both rate and tick reductions. This
- way it can take care of the fact that curse rate/duration reductions are
- not reduced by the same stats. Curse duration is now reduced by vit.
- [Skotlex]
- * Removed an ugly cast in socket.c
- * Fixed Makefile (-Wno-unused-parameter was added twice with gcc4) [Toms]
- 2007/04/10
- * Recoded and renamed the trim function in strlib to normalize_name.
- * Added a proper trim function to strlib.
- * Cleanups at npc source file adding/removing.
- * Changed db key from 'unsigned char*' to 'const char*'.
- * Defined out the dump function in util.h/c. [FlavioJS]
- * As an experiment Corrected many /W4 warnings on the txt login server
- * Played around with MinGW a bit today... [ultramage]
- - adjusted code so that it handles mingw-specific compatibility problems
- - adjusted the makefile, mingw is not a subset of cygwin
- 2007/04/09
- * Now when saving a character, only the cart/peco/falcon 'option' states
- are saved, the rest should be handled by the status change load/save
- functions. This saves 'permanent' cloaking/hiding and other such oddities
- if the server is unable to save your status changes on logout.
- * Updated some Guild WoE rules to behave as explained here:
- http://www.eathena.ws/board/index.php?showtopic=146581 [Skotlex]
- 2007/04/08
- * Fixed the platform-specific stricmp compilation problem
- * Fixed inverted vending tax equation (!) and made it more precise
- * Moved e_mail_check() and config_switch() to strlib.h
- * Synchronized the login servers a bit
- 2007/04/07
- * Disabled the exception handler on windows debug builds
- * Fixed Devotion using WE_BABY's status icon (now uses no icon);
- if you have a way to determine the correct number, give feedback
- * Updated the server's PCRE components to 7.0
- - dll, library, header
- - cleaned the only existing example and moved it to /samples
- - changed the interface, now $@ is used instead of $ to store the result
- - /!\ adjust your scripts if you are using npc regexp parsing /!\
- * Fixed the start_point setting smashing t3h stack in some situations
- * Fixed some over/under-dimensioned arrays (defines already cover the '\0')
- * Fixed an unupdated define making Warp Portal fail with an error [ultramage]
- * Final touches to the whole map crap [DracoRPG]
- - changed MAP_NAME_LENGTH to 12, now there's MAP_NAME_LENGTH_EXT at 16 for
- uses where there is / may be the .gat extension, code adjusted accordingly
- - moved map_normalize_name to mapindex_normalize_name so that everything
- handling map names uses the same extension-removing function
- - greatly enhanced the map cache generator, complete documentation on the
- tool and the map cache format can be found in doc/
- - the map cache format changed a bit as a consequence, but of course a new
- valid one is included (contains latest Nameless Island maps)
- - and I'm sorry for the number of times I've moved around and renamed files,
- now the final structure should have been reached
- * Capped clif_heal's heal field (the argument received is int, but the
- packet field is short, meaning that if the heal is high enough, the client
- would receive a negative heal amount). [Skotlex]
- 2007/04/06
- * Made a crazy attempt to at least partially synchronize login&char code
- * Major edit to the way the servers handle ip addresses, making them obey
- the "host byte order inside, network byte order outside" rule [ultramage]
- - hopefully covered all entry- and exit-points for IP address data
- - discovered several places where Gravity's client breaks the convention,
- will need to come up with a suitable countermeasure for that
- - other than that, the code should be portable, except for printing and
- ipban mask testing (those still assume a specific byte order)
- - tested both txt and sql in all usual situations; tested single- and
- multi-server setups, all seems to work (but watch out for hidden bugs!)
- 2007/04/05
- * Cleaned @whogm. It will display the name of all gms online. If their GM
- level is above your own, it will only display their name, otherwise level,
- position, and party/guild info is displayed. GM's using gm-hide will not
- appear on this list.
- * Corrected song/dances/encores reducing SP at the incorrect intervals
- (either never, or every second).
- 2007/04/04
- * Corrected Longing for Freedom, it should triple SP cost rather than
- modifying SP cost to 1/sec
- * SC_ENCHANTARMS will no longer fail to start if it's already running with
- a "higher elemental level".
- * When trying to trade an untradeable item, the add-item-fail packet will
- be sent so the client does not gets stuck. [Skotlex]
- 2007/04/03
- * Some spring-cleaning in sql-files, only left SVN 8k+ files [DracoRPG]
- * Updated sql files [Playtester]
- * Fixed char-server crash on @changegm use.
- * Cleaned up mmo_auth, this function wasn't only poorly coded, it also had
- a SQL-related memory leak in it!
- * Corrected the attack_attr_none check being backwards (ie: this config was
- working backwards!)
- * All pets can now move regardless of their Mob counter part setting.
- [Skotlex]
- * Some source code cleaning
- - Fixed the badly worded messages during mapserver startup
- - Cleaned up socket config reading
- - Split resolve_hostbyname() into 2 separate functions for clarity
- - Moved the probably obsolete LOWER/UPPER macros to db.c (TODO: remove)
- - Moved the badly placed compare_item() function to storage.c (see r779)
- * Fully removed the msvcr80.dll dependency from the vs8 project files
- 2007/04/02
- * Removed some overly verbose item group messages & code
- * re-added the item_group_list for consistency's sake, moved to itemdb.h
- (after some hacking to remove the ugly map.h dependency)
- * Fixed the server crashing on a timer-queued disguise / undisguise
- * Fixed the server crashing on startup due to bad define [ultramage]
- * Removed bonus 'bAspdAddRate'. bAspdRate now behaves on a stackable
- matter, so it's no longer needed.
- * Reimplemented the bonus 'bAspd' (raw Aspd increase) [Skotlex]
- 2007/03/31
- * Added all the missing defines for ctype.h functions and converted all
- the direct uses to the defines. [FlavioJS]
- 2007/03/30
- * Added "do_abort" function to the core. It is invoked when the server has
- received a Segmentation Fault or Floating Point Exception signal. Currently
- the only one that uses it is the map-server, which then attempts to save
- all online characters before aborting. Note that due to the current
- coding of the sig plugin, do_abort will not be invoked if you use it!
- This plugin needs to be updated... [Skotlex]
- * Continued script.c cleanup [Toms]
- 2007/03/29
- * Corrected OPTION_XMAS since 2007 clients have split it up from
- OPTION_FLYING (on previous clients both were the same option value).
- * Corrected statp array not being long enough to actually hold the status
- points of ALL levels up to and including MAX_LEVEL. Fixes reaching final
- level and resetting giving you an unpredictable amount of status points.
- 2007/03/28
- * Negative aspd rate bonuses will be handled as aspd add rate since the
- default non-stackable bonus is useless on penalty bonuses.
- * Added check to prevent the client from using passive skills. [Skotlex]
- * Updated sql-files [Playtester]
- * Removed a missing file reference in the athena-start script
- * Fixed a #error "<malloc.h> has been replaced by <stdlib.h>" problem
- * Fixed the msg_silent setting not being announced every time [ultramage]
- 2007/03/27
- * Cleaned up some the mob skill use code. The skill re-use delay is set at
- the time the skill is used rather than when it finishes casting. The
- invalid target check was also moved to the mob skill db reading function.
- * Skills can be used now when the autoskill menu is open (since there's no
- packet sent by the client when you hit on cancel). [Skotlex]
- * Added some svn:ignore properties [Toms]
- * Solved console plugins compilation error [Toms]
- * Changed MAX_LEVEL to the standard value 99. Memory consumption-= 55MB.
- - !!!WARNING!!! If your server uses higher levels, be sure to adjust
- this appropriately! (the define can be found in /src/map/map.h)
- * Corrected SC_COMA's success chance (X.4 says it's unconditional 100%)
- * Changed the vs8 used crt library to static linking [ultramage]
- 2007/03/26
- * Coma now reduces SP to 0 (with the exception of Dark Blessing) [Skotlex]
- * Corrected "format '%lu' expects type 'long unsigned int', but argument 4
- has type 'unsigned int'" warning on login.sql [Toms]
- 2007/03/24
- * Corrected change r10051 which prevented Ice Pick from working [ultramage]
- - the 'ignore_' variables are bitflags and therefore need enough bits
- to store all info; 8 bits wasn't enough in this case
- 2007/03/23
- * Major reconfiguration of the vs7 project files (+vs8 while I was at it)
- - added definitions _DEBUG and NDEBUG to tune system-specific stuff
- - reduced the build requirements (Pentium 4 was a bit too much)
- - changed build settings and project structure to match the vs8 projects
- - corrected some vs8 inconsistencies
- * Some generic typo fixes [ultramage]
- * Corrected Ankle Snare/Spider Web having a 1% chance to trap rather than
- 100%
- * Food boosts are now dispelled on death only.
- 2007/03/22
- * Corrected setitemscript not correctly updating the item's script.
- * Added define MAX_CHARS so you can easily mod the server to support a
- different amount of characters per account (however, there is still the
- issue of hexing the client to support this change)
- * Updated msg_athena.conf so it no longer uses broken english on several
- entries. Thanks to Scerez for the updated file.
- 2007/03/21
- * getpetinfo 5 will now return the pet's rename flag.
- * Autoloot will now only work on items dropped a certain distance from the
- player. The distance is defined by AUTOLOOT_DISTANCE in atcommand.h and
- defaults to AREA_SIZE.
- * Removed Magic Rod's cast bar.
- * Gravitation no longer causes damage flinch. [Skotlex]
- 2007/03/20
- * Increased MAX_STATUSCHANGE to 300 to make room for new statuses [DracoRPG]
- * Reverted mapindex reading from map_list.txt for the map-server [DracoRPG]
- * Patched the MAX_STATUSCHANGE startup error [ultramage
- * Removed the last argument from script command skillitem.
- * Added skill ITEM_ENCHANTARMS, this is what weapon enchanting items should
- use.
- * Added support for specifying different elements per skill level in the
- skill_db
- * Added bonus bNoKnockback.
- * Corrected login sql server not reseting your account state to 0 when the
- banuntil duration expires.
- * Made the skillatk bonus it's own function, it can now be used to boost
- Heal/Sanctuary/Potion Pitcher and Slim Pitcher as well.
- * Corrected Teleport's save map entry being sent without the .gat
- extension.
- * Corrected Warp Portal not sending the map names with the .gat extension.
- * Probably corrected Disarm's strip animation.
- 2007/03/19
- * Rewrote the jail logic to always use a status change. This means that the
- character's save point is not changed when jailed, and the char is always
- warped back to the point where it was before being jailed on unjail.
- * Modified @adjcmdlvl so you can't set a command to require higher level
- than yourself, and so you can't edit the level of a command which is higher
- than your own.
- * Corrected attack_attr_none setting disabling elemental resist cards.
- * Corrected Dispell removing Jailed status.
- * Corrected being able to revive with 0 hp.
- * Modified the "Restart" code so that it makes you stand on spot when
- pc_setpos fails to move you back to your originating location. [Skotlex]
- * Fixed some wrong sql login logic
- * Fixed some compiler warnings, cleaned up mapserver sql-related vars
- * Removed the old 'mapserver charsave' mechanism [ultramage]
- * Globalised use of script_pushint and script_getdata in script.c
- If someone need them, the regexp used was :
- sed -i "s/& *(st->stack->stack_data\[st->start *+ *\([^]]*\)\])/script_getdata(st,\1)/g" script.c
- sed -i "s/push_val(st->stack, *C_INT *, *\([^)]*\))/script_pushint(st,\1)/g" script.c
- * Little clean of unused variables in script.c [Toms]
- * Script engine:
- - calling functions without using the return value doesn't generate warnings
- - more work on Ticket #41
- * Took care of two warnings and a minor change to the makefile. [FlavioJS]
- 2007/03/18
- * Added missing VC++ 7.1 project files for mapcache. [Lance]
- * A followup to the login_sql server changes:
- Due to a missing 'else' in the case_sensitive config setting loading
- code (see r483 and r3316), the option was always being set to 'off'.
- Now that I have corrected it, make sure to set it exactly how you
- want it to behave (usually case-insensitive)!
- Failure to do so can result in half the server spamming you with
- messages about how they are getting 'unregistered id' errors.
- 2007/03/17
- * committing my work on the login server (mostly SQL) [ultramage]
- - removed the check_ip_flag from login&char (there since r1)
- - removed the CMP_AUTHFIFO_IP and CMP_AUTHFIFO_LOGIN2 defines (also r1)
- - removed dynamic_account_ban, gm_db settings, weren't doing anything at all
- - modified the date_format setting to take the format string directly
- - removed overly verbose config loading messages
- - removed/simplified many more useless actions
- - renamed the dynamic_pass_failure_ban_ settings to make more sense
- - collected relevant config settings into a login_config structure
- and documented their purpose
- - allowed usage of yes/no instead of the user-unfriendly 1/0 method
- in config settings (and added 1/0 as a possible option)
- - fixed dnsbl which was always taking only the first entry into account
- 2007/03/16
- * Corrected the structure and added info on the skill fail packet (0x110).
- * Added packet 0x223 as clif_upgrademessage (not used yet).
- * More work on Ticket #41. [FlavioJS]
- 2007/03/15
- * Added SC_CHANGEUNDEAD to differentiate it from the other elemental change
- skills. It now fails on Undead/Dark elemental targets.
- * Corrected party item share settings not being properly updated on logon.
- * Corrected battle_attr_none setting applying to elemental attacks instead
- of neutral ones. [Skotlex]
- 2007/03/14
- * Finished polishing the new mapcache system [DracoRPG]
- - common/grfio.* now empty except zipping functions (to read mapcache)
- - servers do not use .gat internally anymore
- => YOU CAN (and should) STOP USING .gat IN YOUR SCRIPTS
- - moved files for the mapcache builder to db/ for now
- - the char-server now uses the same index list as the mapcache builder
- => poring_c01, poring_c02 and ng_quest mapindex have changed, beware
- * Updated sql files [Playtester]
- * Adjusted @pvpoff, @gvgoff, @killer, @killable to make characters stop
- attacking when used.
- * Dispell no longer removes food boosts.
- * Players will stop attacking when they change their look.
- * Applied Alydis's fix to the mvp item logs logging mvp items even if the
- player couldn't get the item.
- 2007/03/13
- * Corrected the new packet version entries for skilluseposinfo
- * Corrected item reloading not unsetting the "delay consume" flag if the
- item had changed it's type.
- * the Attack_Type variable in skill_attack now inherits the damage.flag
- properties, this fixes ranged status effects not triggering.
- 2007/03/12
- * Added player not attached crash prevention to countitem/countitem2.
- * Probably corrected delitem not deleting pet eggs at all.
- * Hopefully fixed hidenpc/disablenpc not working on Guild flag sprites.
- * Mob skill state "anytarget" no longer triggers when the mob has an
- item-target (looting).
- * @storage/@gstorage will no longer work if you have a trade or a storage
- opened already.
- * Corrected script command movenpc so it properly moves the ontouch npc
- cells as well.
- * Changed the unit-walk packet to be 0x86 as pointed out by FlavioJS. This
- new packet is much smaller, and should greatly decrease bandwidth usage.
- The only drawback is that the character will not display at all if the
- client didn't know of it's existance previously, but eA should always be
- sending a spawn packet when an object gets into/out of sight anyway, so
- it should work correctly.
- * Modified the guild master change ack packet to return the aid/cid of the
- new guild master instead of the index where it was, the previous method
- could cause problems in situations where the order of guild members would
- not match exactly between char/map servers.
- * Updated the Soul Linker's Rogue Spirit Stealth's speed bonus to +60%,
- according to forum infor from ragnagate. [Skotlex]
- 2007/03/09
- * Mapcache can run on system with any endianness.
- The generated file contains data in little endian.
- * Added info on packet 0x86 (simple move packet). Not usable until a clear
- separation between entering sight/leaving sight/walking in sight is done.
- * Propagating const char* from the script engine.
- * ".gat" is appended to the map name before sending the changemapserver
- packet to the client. [FlavioJS]
- * Normalized the mapname in guild get/set castle data, should fix guild
- flags.
- * Added log options 0x800/0x1000 to log storage moves ('R') and guild
- storage moves ('G')
- * Added upgrade_svn9976.sql to include 'R'/'G' on the picklog type column
- set.
- * Updated the logs_athena description to include the letter of each type
- (512 - M, 32 - N, etc)
- 2007/03/08
- * Corrected the pet/homunc data not being free'd if the player logs out
- before being authed.
- * Initialized player's speed on pc_setnewpc to prevent homunculus copying a
- speed of 0.
- * Corrected ranged add-status only triggering if the attack is arrow
- based.
- * Updated counter add-status so they trigger on ranged attacks instead of
- using "arrow_atk" state. [Skotlex]
- * Here comes the new mapcache system! [DracoRPG]
- - The last and only big "feature" (kind of cleanup in fact) you'll see
- - Totally removes GRF/GAT handling from map-server that only reads from cache
- - The cache now also contains map indexes, and is mostly zipped (1.5MB atm)
- - It is shipped with eA => 100% client-independant, no more missing maps
- - If you want to add custom maps, the mapcache builder is available, doc
- and Unix Makefile coming as soon as possible (VC8 project only ATM :/)
- - Removed now useless AFM/AF2 support, as well as the startup screen notice
- 2007/03/07
- * Corrected the define for NK no cardfix (def).
- * Fixed the char sql server not escaping the server name before inserting
- it on the ragsrvinfo table.
- * Corrected @lvup not doing the party even share check.
- * Corrected breaker's misc part not ignoring element.
- 2007/03/06
- * Added NK value 0x80: ignore target's cards (0x8 will now only ignore
- attacker's cards).
- * Corrected Soul Breaker ignoring target's cards instead of the caster's.
- [Skotlex]
- * Fixed an infinite loop if script name contains a single ':' [Toms]
- * Simplified the Utsusemi/Bunsinjyutsu check to only block weapon skills
- that do not ignore offensive cards. [Skotlex]
- * Added support for the 2 new packet versions. [Zephiris]
- * Fixed the loginlog's `user` column length (use upgrade_svn9957.sql)
- 2007/03/05
- * More tweaks to socket.c to simplify the code [ultramage]
- - many generic cleanups - reformatting, useless code removal, etc
- - made the mode_neg setting a compile-time decision, not a run-time one
- - removed the silly frame_size setting (there since r1)
- - added some TODOs to http://www.eathena.ws/board/index.php?showtopic=127988
- * Added the +20hit that were missing the NPC elemental attack skills.
- * Added support for autospells using "a random skill level". The last value
- of bonus4 bAutoSpell is used for determining this as well as the target. &1
- is to cast on target (otherwise cast on self), and &2 is to use a random
- level UP to the level specified in the script (otherwise always cast the
- specified level)
- * Updated item_bonus.txt with the documentation for the
- bAutoSpell/bAutoSpellWhenHit changes.
- * Corrected @refresh not reupdating the basic stat bonuses.
- 2007/03/03
- * Modified a bit the storm gust counter code to see if it fixes storm gusts
- sometimes freezing on first hit.
- 2007/03/02
- * Tatami Gaeshi state (proyectile blocking) now ends when you move.
- * SG Union will consume now SP if you use it while not soul linked.
- * Added variable "skip" to the mob spawn data, to know how many mobs to
- skip when spawning because they were not removed due to the
- "mob_remove_damaged" setting.
- * Corrected the Hp/Sp regen formulas from Hp/Sp/Spirit Recovery and
- Happy/Peaceful break according to recent forums discussions (formula is
- changed from x*lv +max*lv/500 to lv*(x+max/500). [Skotlex]
- * Added new script function: setiteminfo. Now you can make custom items [Lupus]
- - Updated script function setitemscript(itemID,script,WhichScript)
- now u can set one of 3 item scripts: use/update, equip, unequip
- But it works only if the original item had 3 non empty scriptsin ITEM_DB
- can't fix this issue yet
- 1201,Knife,Knife,4,50,,400,17,,1,3,0xFE9F7EEF,7,2,2,1,1,1,1,{dispbottom "1";},{dispbottom "2";},{dispbottom "3";}
- and... if u've used this function, later @reloaditemdb may crush the map server ^_-
- - Check npc/sample/npc_test_setitemx.txt as example of setiteminfo & setitemscript
- 2007/03/01
- * Corrected raid not doing the "can hit?" check on splash area targets.
- * Fixed the definition of warpwaitingpc so that it allows an optional
- argument (number of people to warp).
- * Modified the Palm Strike packet so the initial hit animation does not
- displays "Miss".
- * Added a check to prevent trades from being commited if either character
- is in final-save state.
- * Checked and cleaned up the online_check code in the char-server. Further
- connections to the char-server are rejected when the account already has a
- connection (previously this would happen only if there was already another
- character IN game, not just waiting on the char-select screen). [Skotlex]
- 2007/02/28
- * Added the source and VC8 project for my experimental mapcache generator;
- it is NOT compatible with eA's current mapcache but uses a brand new format
- that I still have to embed into the map-server [DracoRPG]
- 2007/02/27
- * NPC_AGIUP now boosts flee by 100% and duration is 5+5*lv secs, as stated
- on the Ragnarok Bible.
- * Fixed Soul Breaker's misc part not ignoring flee.
- * Fixed misc attack's flee check being backwards (the less hit%, the more
- chance you had to connect)
- * Corrected the range check in vending.c [Skotlex]
- * Added map & distance check to vending to prevent WPE hacks. [Lupus]
- E.g. buying items from WoE castle
- * Fixed a compiler warning in char_sql\login.c
- * Minor source documentation/cleanup. [FlavioJS]
- 2007/02/26
- * You are allowed to expel guild mates that are not online now.
- * Corrected damage of BloodDrain
- * Moved the "already connected" checks to pc_authok, since a dual login
- doesn't needs to be checked until the new connection is accepted.
- * You are allowed to attack/use skills now when your cloaking level is
- below 3.
- * Small change to Stone Curse that may fix the permanent "semi-stone"
- status.
- * Corrected "taming monster" having your skill-use be stuck if you cancel
- the target selection process.
- * config setting party_show_share_picker now displays the jname of the item
- picked as well.
- * Corrected some typos and small details
- (forgotten bInfiniteEndure [r6487], mysterious '1' in help file, etc)
- 2007/02/25
- * Added Krade's makefile fix for 64bit compilers [ultramage]
- - ref: http://www.eathena.ws/board/index.php?showtopic=136622
- * Minor cleanup/documentation on the script engine. [FlavioJS]
- 2007/02/24
- * Fixed the mob_override_name setting not working on summoned mobs.
- * The server now prints an error message when it the produce_db reaches the
- max number of allowed produce recipes.
- * The NK value of the skill_db has been made a hexadecimal value, and
- expanded to include more information about a skill's damage properties: 0x8
- ignore caster's cards, 0x10 ignore element adjustments, 0x20 ignore
- target's defense, 0x40 ignore target's flee. Note that magic attacks
- always ignore flee, and misc attacks always ignore defense.
- * Autoguard will no longer work on skills that don't take in card
- adjustments
- * utsusemi & bunsinjyutsu no longer work on skills that don't take in card
- adjustments.
- * Corrected damage of the NPC elemental attack skills, Blood Drain and
- Energy Drain
- * Adjusted menu-based skills so you can't reuse the same skill until you've
- dealt with the menu.
- * Adjust autospells so that removing an autospell works when the script of
- the card that removes the autospell is triggered before the script that
- adds the spell.
- * The "requested name of gm-hidden char" warning will not be displayed when
- the object in question is an NPC (since you can use Intravision to do
- this).
- * Venom Knife no longer takes into accounts cards or EDP.
- 2007/02/23
- * Guild expulsion now will fail when the character to be kicked is in a
- guild castle (rather than checking for the character doing the expulsion)
- * pk damage reduction settings now will take effect only on Player VS
- player damage.
- * Fixed produce_db2.txt entries overwriting produce_db.txt ones.
- * Fixed item-granted/plagiarized skills unlocking skill trees when only
- your real learned level should. [Skotlex]
- 2007/02/21
- * Applied a consistent look to all header files (copyright, ifdefs)
- * Minor stuff (typos, socket.c, junk in login reply packet) [ultramage]
- 2007/02/19
- * Fixed @cartlist info message typo [Lupus]
- 2007/02/17
- * Fixed a typo from r9778, allowing non-gm chars to use /kill [ultramage]
- 2007/02/16
- * Fixed the structure of packet 0x6d (new char info). It's the same as the
- one used for packet 0x6b (chars info). [FlavioJS]
- * Updated script commands startnpctimer, stopnpctimer, initnpctimer so you
- can attach a player to them, this is done because the attach/detach
- functions can't be used to attach to a different script than the one
- currently running.
- * Updated the script_command reference with the new flag values of
- [start/stop/init]npctimer.
- * Modified the "guardian" spawn script command, it no longer receives a
- "amount" argument (since that only leads to trouble), if the class is
- negative, it'll pick a random class the same way the monster spawn script
- command does, and if you pass a spawn position with coordinates equal or
- less to 0, a random spot in the map will be taken. However you can't use
- "this" as a map name anymore since these script commands do not need an
- attached player.
- * Guardian spawning will now fail if you attempt to spawn a guardian that
- already exists on the same position.
- * Miracle of the Sun, Moon and Stars can now retrigger to lenghten it's
- effect, and it is cancelled on warp/map-change. [Skotlex]
- 2007/02/15
- * Reverted some of my mobdb code
- * Cleaned up clif_party_info a bit
- * Cleaned up set_reg (the same procedure as get_val) [ultramage]
- * The default packet version is now 8. Clients from November2006 and before
- can no longer get past the char-server unless you change it back to 7.
- * Fixed Storm Gust counter freezing on fourth hit instead of third.
- * Fixed @homstats not taking into consideration that the stat growth
- decimals get discarded on level up (so the real minimum/maximum displayed
- was off).
- 2007/02/13
- * Applied Rayce's dangling pointer fix when returning a temporary npc
- string variable (those starting with .@)
- * Required Weapon, ammo, and skill state are now only checked on begin
- casting, instead of both on begin and end casting.
- 2007/02/12
- * Fixed Resurrect Homunculus and Wedding skills failing. [Skotlex]
- * A bit more work on Ticket #41.
- * Added 'r' (variable reference) to the script argument definitions.
- * Added a simple define for suspitious actions. (empty at the moment)
- * Added clif_clearcart and moved sending cart packets to pc_setoption.
- * clif_parse_ChangeCart checking the player level. [FlavioJS]
- * Fixed clif_parse_GMmessage cutting off messages randomly [ultramage]
- (due to a typo in revision r9778)
- * Fixed Wand of Hermod
- * Corrected Spider Web casting around caster instead of target's position.
- * Corrected a possible crash during login due to checking for the incorrect
- variable (lets pc_calc_status be invoked when it shouldn't)
- * Added bounds checking to map_foreachincell.
- * Opt2 values (poison, blind, and so on) are now resent on warp/map-change.
- * Corrected description of isloggedin script command. [Skotlex]
- 2007/02/11
- * Fixed the inverted behavior of display_skill_fail, caused by r9823
- * Fixed @loadnpc not updating the script_event[] array
- 2007/02/10
- * Fixed clif_party_message using an incorrect buffer length [ultramage]
- * Cosmetic changes to the buildin section of script.c (use defines for
- function names/definitions). [FlavioJS]
- 2007/02/09
- * Updated the 'unit walk' to functions so they stop your attack if it's
- possible to walk.
- * Fixed char server SQL not sending the guild info update to other map
- servers when a new member is added.
- 2007/02/08
- * Modified Spider Web so it can instantly retrap a target, rather than
- idling on the ground waiting for a new target.
- * Cleaned up some the rude-attacked code, being attacked while under spider
- web now triggers rude-attacked. [Skotlex]
- * Added code for SQL that will automatically detect the ping interval
- at startup, and copy-pasted it around the code; removed the conf setting
- * Added a missing null pointer check in clif_parse_globalmessage
- * Fixed the new socket code, which was triggering the inactivity timeout
- on the servers' listening sockets
- * Fixed the TURBO code not working since r4468 (parse func never called)
- 2007/02/07
- * More aggressive cleaning up of the socket code [ultramage]
- - removed unused session_data2 entry in sd
- - added a new create_session() function, helps keep things cleaner
- (although it's ad-hoc and not perfect, since this is C)
- - undid r4978 since it was getting in the way (re-add it if you need it)
- - added defines for the recv, send and parse func pointers
- - added null functions for the three actions, and made create_session()
- calls use those instead of NULL pointers; insignificant penalty and now:
- - since all three funcs are always initialized, removed all those NULL checks
- - removed the efd set, since as the people from the developernet forums
- pointed out, it's only for out-of-band data and NOT for error checking
- (in fact, select() bails out without giving any info if it errors out)
- - reorganized the randomly placed socket.c contents somewhat
- - it'll be a miracle if this works like it should ^^;
- * Modified spider web so that the skill_unit_db flag restrictions may take
- place. [Skotlex]
- * Cleaning up of the socket code [ultramage]
- - Shuffled includes around for files that were leeching off of socket.h
- - Added code that enforces standard shutdown behavior for sockets
- - Wiped out the poorly written parse code from r2211
- * Removed old script bonuses bMatk, bMatk1, bMatk2.
- * Fixed char-server not sending online notification when a party member
- logs in.
- * When skill range by distance is set, the distance checked for is now 5
- cells rather than 3.
- * Fixed bMatkRate bonuses not applying to status earned modifications to
- int/matk. [Skotlex]
- * Removed deprecated console code.
- * Moved CHAT_SIZE back to map.h because log_atcommand uses it on sql
- builds. (moved to clif.c in r9811) [FlavioJS]
- 2007/02/06
- * Cleaned up the script engine's get_val() function [ultramage]
- - changed the long if-spaghetti into a compact switch statement
- - changed its behavior so that it exits if !sd and it requires one
- - upon exiting, it will now ensure that meaningful values get returned
- (the old code had no qualms about returning random junk from memory
- for integer queries, and crashing for string queries)
- - removed many !sd checks since they are done at the beginning now
- * Fixed #lvup having the gm level check backwards.
- * Fixed the stormgust freeze counter going up even if the attack is
- blocked/cancelled.
- * Cleaned up homunc attack request parsing. Homunculus no longer goes into
- auto-attack (ctrl+click) mode since the client does every attack request
- individually.
- * Fixed char-server not sending party status update when a member logs
- on/off.
- * Fixed crash when parsing guild member information change from the
- char-server if the specified character is not found in the guild.
- * Fixed MvP mobs giving exp when killed even if they shouldn't.
- 2007/02/05
- * Fixed @lvup, #lvup not doing a stat reset and lowering your status points
- if you had 0 status points at that time.
- * Fixed MvP exp and item rewards being given even when the mob_dead flag
- specifies you should not receive exp or items.
- * Updated the code so that now a range of a skill is determined by the
- skill's range in the db. Now only skills with less than 5 cells of range
- are melee.
- * The inf2 parameter of the skill_db is now red as an hexadecimal.
- * The super novice self-revive angel will now trigger only once per
- session, if you relog you can have it trigger again. [Skotlex]
- * Fixed the skill tree not always updating when using @allskill
- * Probably fixed the target-change on melee attack setting not working.
- * Moved the deletion of the invincible timer when using skills so that it
- is not deleted for skills such as Ashura (when just selecting a target)
- [Skotlex]
- 2007/02/03
- * Continuing the checking of script buildin functions and stop the script
- execution when an attached player is required but not found.
- This task will be referenced as Ticket #41 from now on. [FlavioJS]
- * Updated the TXT login server's account id checker
- (it was still saying the minimum is 700000 instead of 2000000)
- * Changed the 'getpartyleader' script command so that it returns a map
- name instead of the useless mapindex number. Also fixed it so that it
- doesn't throw a 'args of aFree is not valid pointer' error.
- (although I'm not at all sure that the fix is correct)
- Ref: http://www.eathena.ws/board/index.php?showtopic=137274
- * Removed the silly and misleading 'firewall detected' message
- * Added missing vc6 project file
- * Corrected a lie in the script documentation [ultramage]
- 2007/02/02
- * Fixed the flag parameter not working on npcshopattach.
- * Updated the walk delay code so that it parses homunculus as well as
- players. What this means is that a homunculus walk request won't go ignored
- if it's issued during the 'can't walk delay' after being hit.
- * Added a possible crash protection in clif_skillfail when the player is
- without a connection. [Skotlex]
- * Fine-tuned the global message processing function [ultramage]
- - now detects access-out-of-rfifo attempts (idea from eA++)
- - uses the new CHAT_SIZE define to restrict message lengths
- - detects Frost Joke/Dazzler and gives them more freedom (from Freya)
- - more strict non-conformant message detection
- - logging every problem to the mapserver console
- * Resetting skills will now automatically remove peco, falcon, cart and
- homunculus (vaporize).
- * Fixed random mob picking choosing clones.
- * Fixed critical spots that could be exploited [Skotlex]
- - The define MESSAGE_SIZE was wrong! It is only used for input boxes.
- Therefore now it is only used for Vending, Talkie box and Graffiti
- - Added new define CHAT_SIZE which holds the max length that a client
- can send from the chat buffer
- - Added define msg_len_check which crops incoming client text if it's
- longer than CHAT_SIZE. Added cropping to all incoming messages except
- normal chatting which is already accounted for.
- - Removed variable talkie_mes, this is now handled by sd->message
- - Cleaned up parser functions for /b /lb, gm kick, /shift, /recall
- - Added crash protection to the logging functions when they receive
- a too long string.
- 2007/02/01
- * Restricted global messages to 255 characters (client shows only ~80 anyway,
- wanted to use 127 but frost joke's lines are longer than that ...)
- - prevented using a ~22+kB long message to crash everyone on screen
- - prevented faking the message length to cause an out-of-bounds access crash
- - removed the unneccessary 'buf'ffer (inspiration from jAthena)
- - Ref: http://www.eathena.ws/board/index.php?showtopic=137770
- * Corrected the chat system to allow 8-letter passwords
- * Minor details (pdb file location, improved debug, npc typo) [ultramage]
- * Cleaned up the npcshop(add/del)item script commands, fixed a possible
- dangling pointer crash caused by their improper use of realloc. They no
- longer automatically attach the script to the shop, and they will return
- true/false based on whether the shop was found or not.
- * Added script command npcshopattach to enable attaching/detaching your
- script from any npc shop.
- * Updated doc/script_commands.txt with entries for npcshopitem,
- npcshopadditem, npcshopdelitem and npcshopattach [Skotlex]
- * A followup to r9761, a header include that somehow didn't commit [ultramage]
- * Item search is now a bit smarter. When no item is found with the same
- 'aegis name', then the 'normal' name is used instead.
- * Updated the @/# commands that take an item name so that you can use
- quotes when specifying item names with spaces in them. For example, @item
- "poring card" 1 will work now. Note that only the commands that work on ONE
- item have been updated, those that do an item list need to be updated as
- well. [Skotlex]
- * Updated the old vs6 files to latest, thanks to k3dt for contributing them
- * Reorganized the vs6 project files (update will follow)
- * Fixed an accidental change in r9758 (edit&continue) [ultramage]
- * Added support for mob skill target 'randomtarget', when specified, it
- will pick a random enemy from within the skill's cast range. [Skotlex]
- * Added string function strnlen [ultramage]
- - This thing is useful for removing potential out-of-bounds crashes.
- Had to #ifdef it because some systems implement it, some don't provide
- the header, and some don't have it at all. Adjust/improve as neccessary.
- * Corrected homunculus's aspd being halved after using some aspd adjusting
- skill.
- * Removed the log info message 'created homunc...', and the 'loaded homunc'
- message will only show if the save_log is enabled.
- * When when a party-member levels up, the level change is sent to the
- char-server to update the even-share range values.
- * When joining a gvg_dungeon, the pvp packet will be sent to signal
- versus. With this gvg dungeons should be working correctly now. [Skotlex]
- 2007/01/31
- * Changes in the VS8 project files: [FlavioJS]
- - synchronized the settings between the projects
- - joined all .h and .cpp files and grouped them based on the src subfolder
- - added Debug/Release build targets that build txt/sql only
- - other minor changes
- * Removed graph, httpd and webserver
- * Wiped out the old night code (use svn if you want it) [ultramage]
- 2007/01/30
- * 'Long Range Attacked' mob skill conditions will no longer trigger on
- magic attacks.
- * Corrected char deletion not working (column is called homun_id, not
- hom_id...)
- * Collapsed config settings produce_item_name_input,
- produce_potion_name_input, making_arrow_name_input, holywater_name_input,
- cdp_name_input into a single config produce_item_name_input which uses
- bitmasks to determine what it affects.
- * Updated arrow_decrement to have 3 possible values: Disabled, Enabled, and
- Enabled + Autoguess (gives arrow consumption as appropiate to
- plagiarized/acquired skills).
- 2007/01/29
- * Corrected the homunculus deletion functions so that the homunculus is
- deleted together with the character.
- * Added npc_check_areanpc so that Wand of Hermod will correctly check for
- nearby warps.
- * Emergency avoid now stacks with other speed boost statuses
- * Item skills and skills that bring up a menu now are cleared on death.
- [Skotlex]
- * Added a nasty hack to prevent multilanguage clients from breaking guild notices
- 2007/01/27
- * Made @reloadscript wipe ALL previous mobs that the script engine spawned
- - this way it is manageable via global vars; the other way doesn't allow that
- * Some misc cleanups (typos, formatting, forgotten changelog entry etc)
- * Reformatted and translated atcommand.c
- - in the process improved @marry, allowing spaces after the first comma
- * Simple cleanup
- - removed atcommands @w, @server_date/time, @red, @happyhappyjoyjoy, @shuffle
- - synced gm level of @jailfor, @charjailtime, @npcmove, @chardropall,
- @charstoreall, @send, @mute, @changelook, @exp and @nuke
- - added conf entries for @whozeny, @kamic, @tonpc, @petid, @identify, @adopt,
- @trade, @changelook, @send
- - reorganized the atcommand_athena.conf file a bit
- * Corrected indentation of the atcommand table (editor compatibility)
- * BEGIN atcommand cleanup process
- (according to http://www.eathena.ws/board/index.php?showtopic=111996)
- * Fixed a C language restriction preventing compilation [ultramage]
- 2007/01/26
- * Removed all those useless read-from-GRF features noone would ever use,
- also removed cutincard script command as a consequence [DracoRPG]
- - this is only the beginning of full grfio disparition from map-server
- * Now assassins can equip arrows, and status arrows trigger on any ranged
- physical attack: mimics Grimtooth + status arrow "Aegis bug" [DracoRPG]
- * Added some random Storage Password packets thingies [DracoRPG]
- * Kaite and Assumptio no longer stack. One will remove the other in the
- same way Assumptio and Kyrie do.
- * Made homunculus renaming go through the char-server so it can be
- validated against the allowed characters setting.
- * Added battle config hom_rename so you can enable renaming multiple times
- your homunc.
- * Fixed the normalizing function not sending first classes back to novice
- if they do not have basic skill maxed.
- * Added a wrapper to delete_timer so it prints out from where the
- invocation was done.
- * Fixed Splash attacks consuming 2 ammo on each attack. [Skotlex]
- * Added some more freedom for the txt log paths since 32 wasn't enough
- * Removed log_uptime that was accidentally introduced in r1208 [ultramage]
- 2007/01/24
- * Cleaned up some more the Joint Beat implementation, so the status don't
- take effect until the attack connects. [Skotlex]
- 2007/01/23
- * Fixed int/dex foods using an incorrect icon for their status [ultramage]
- * Changed the night status from 149 to 160, which seems to work so much
- better, and also enabled simplifying the night code.
- * A skill's walk delay will also delay your can-attack time when the skill
- connects, since this is the behaviour of Sonic Blows as described by
- Tharis.
- * Added view_data support to mercenary.*, so that the Homunculus entries
- are no longer required on the mob_db.
- * Added the status icon to NPC_CHANGEUNDEAD and the Flee/Hit foods.
- * Corrected the check that lets you walk when vending/chatting/etc.
- 2007/01/22
- * Reverted the battle_calc_return_damage code as the previous one was
- correct, ninja self-targetted skills CAN be reflected. [Skotlex]
- 2007/01/21
- * Fixed while statements not "reserving" the curly before parsing the test
- expression. [FlavioJS]
- 2007/01/20
- * Fixed some joker's code trying to dereference a null pointer
- * Fixed the server not reacting properly to atcommands/charcommands when using
- langtype 10/11 (the |XY codepage indicator wasn't being trimmed) [ultramage]
- * Updated @homshuffle so that the skill tree and current skill points are
- not messed up.
- 2007/01/19
- * Fixed the label dup code, it now works correctly with const.txt switch
- labels.
- * Reverted the dup-label check code since it has a bug that needs to be
- fixed first (it fails to recognize const.txt values) [Skotlex]
- * Fixed a client crash during SQL char selection if you for some reason had
- more than 9 characters in your account (thanks to Daegaladh) [ultramage]
- - note that the TXT version already guards against this since long ago
- * Merged Rayce's cleanups of the script engine that account for duplicate
- labels, non-numeric labels and makes the engine case-insensitive towards
- keywords like if/case/switch/etc/
- * Added the icons for the Food boosts (need packet version 8 to get them,
- as these icons will just display Gloria, or crash you, when used on older
- clients).
- 2007/01/18
- * Modified the Storm Gust freeze counter code. It now takes into
- consideration the ID of the skill before increasing the counter, which
- should effectively yield the closest aproximation to official (even though
- the counter will reset if you step out of a SG and into another one, we do
- not know yet what should happen in such a case).
- * Added @homshuffle. It recalculates the homunculus stats, as if the homunc
- was sent back to level 1, and then releveled. This command is mean to help
- fix those previously created Homunculus that are much stronger than they
- should be.
- * Fixed overflow on the mob delay adjustment setting.
- * Fixed characters being unable to trade again if you attempt a trade on
- someone who is on storage/npc when you accept the trade. [Skotlex]
- * Fixed a crash when a castle from [0..MAX-1] wasn't in the db [ultramage]
- 2007/01/17
- * Corrected atcommand @homstats so it shows the correct minimum/maximum
- possible values.
- * Simplified the hom level up function, now decimal stats are no longer
- stored. This should correct eA's homunculus on average being much stronger
- than Aegis's.
- * Cleaned up pc_allskillup, @allskills should work correctly now.
- 2007/01/16
- * Added atcommand @homstats so you can check your homunculus stats and
- compare them to the minimum/maximum values that you could have at your
- current level. This command is meant to help figure out if homuncs are
- indeed getting a faster stat growth than they should have.
- * Fixed the next invoked skill after AbraCadabra not having requirements
- even when it is a different skill than the one chosen by AbraCadabra.
- * Implemented Intravision as it should be. Thanks to HelloKitty2 for the
- captured packets.
- * Some cleaning on the mob_ai to enable mobs to run away from their current
- target when they are rude-attacked by them.
- 2007/01/15
- * The NPC elemental attacks will display a skill animation again.
- * Mob instant cast skills will use their adelay now.
- * Spirit of Wizard won't work on Ganbantein
- * The pc normalize job function will consider you as novice if you don't
- have maxed out basic skill.
- * Cleaned up pc_calc_skilltree and related functions so that the id is left
- as 0 when you can't raise the skill even if you meet the prerequisites.
- This is to prevent raising quest/soul/marriage skills through packets.
- * Slaves should lock unto their master's target even if they are not
- attacking yet (eg: in chase mode)
- * Updated the Summon Slave skill to use the slave distance define as valid
- distance to spawn from master.
- * Fixed Joint Beat's speed penalty.
- * Added a pc_authok check to prevent the case in which somehow another
- character of the same account manages to log in as well.
- * The pc normalize job function will now recognize you as a novice if you
- don't have NV_BASIC maxed.
- * Accessories will now by default go into the rigth-side rather than the
- left-side of the equip window.
- * Added a check in the mob_ai_subhard function to make mobs unlock targets
- which have their invincible timer set.
- * Probably fixed the registration flood protection code being broken.
- * Joint Break should only re-start the bleeding timer when it currently IS
- the one that causes bleeding. [Skotlex]
- 2007/01/12
- * Cleaned up the ip rules/DDoS section of the code. (the allow,deny and
- deny,allow cases were switched)
- * Fixed autotrading characters not being able to reconnect. Seams like I
- misunderstood how id_db and pc_db are used. [FlavioJS]
- 2007/01/11
- * Fixed the script engine not parsing strings in multibyte charsets
- correctly (should have been done in r9532).
- * Console plugin working when built as Windows native. [FlavioJS]
- 2007/01/10
- * Combined most of the txt/sql mobdb reading code [ultramage]
- - mob.c is now some 10kB less redundant (now using a common function)
- - automatically filled in some missing parts of the txt part
- (view_range_rate, chase_range_rate, line counting, etc)
- - also cleaned it up significantly
- 2007/01/09
- * Changes to script buildin functions: [FlavioJS]
- - functions checking if a player is attached as soon as possible.
- - functions that required a player attached and would crash if none was
- there terminate the script now. (others keep the current behaviour to
- maintain full backward compatibility)
- - removed the unused flag argument in guildskill.
- - bonus,bonus2,bonus3,bonus4 use the same function now (remains the same
- script-wise)
- - added an optional parameter to setcart,setfalcon,setriding so it's
- possible to remove the cart/falcon/mount or select a specific cart
- - other cleanups
- 2007/01/08
- * Hotfix: Freeing of freed pointer when replacing script functions. [Lance]
- * Unimportant cleanups
- * Moved the plugin.def file to the plugins dir and added console.def
- * Found the reason why the console didn't want to run on windows
- (Microsoft uses !0 and unix uses 0 in pipe_create)
- * Commented out a login_log call (sql doesn't implement that function!)
- * Fixed an old debug message displaying %d instead of a number
- * Silenced the plugin export messages during startup [ultramage]
- * Added a precompiler error when the shutdown defines are not found.
- * Added parse_console to the plugin API.
- * Added plugin for parsing the console. (working with cygwin)
- * Copied the parse_console code form login txt to login sql and char.
- * Added propper plugin version compatibility tests.
- * Better output when a plugin fails to load. [FlavioJS]
- 2007/01/07
- * Fixed the sleep timers not being removed when the an npc was being
- unloaded and when reloading scripts. [FlavioJS]
- * Updated the documentation to match the agitcheck() behavior
- * Undid the memset->malloc_set replacement
- (let's be compatible and leave such optimizations to system devs, ok?)
- * Small reformatting of conf-tmpl
- * Renamed atcommand_sub to is_atcommand_sub (charcommand too)
- * Re-added the duplicit nj/gs name messages in msg_athena [ultramage]
- (the code was using those and they look better in that position)
- 2007/01/06
- * Now winsock 2 is required.
- * Cleaned up do_close and socket_init a bit.
- * Fixed the weight icon dissapearing and reappearing when attacking.
- (introduced by me at r9600, fix based on ultramage's code) [FlavioJS]
- 2007/01/05
- * Also discarded some veeery old utils code that has got equivalents
- in the std libs (and therefore is silently causing a nasty collision).
- * Major reconfiguration of the VS8 project files. [ultramage]
- - Removed the migration binding to a VS71 template.
- - Disabled the setting that defines char -> unsigned char (non-conformant).
- - Switched all projects to use the common C runtime library DLL
- instead of linking the static version to each exe.
- - Enabled edit&continue on the TXT version (SQL already had it).
- - Reconfigured the linker to use only the really required dependencies.
- - Enabled full optimization and whole program optimization,
- with additional speed-improving settings for the release build.
- - Set the compiler/linker to produce detailed debug information even for release builds
- (no performance penalty because the debug info is stored in a separate .pdb file!).
- - I tested all 4 build combinations and it works for me, and it should work for you.
- - There is still one very useful thing missing - setting the working dir to '..'.
- I don't know how to do that, tho' since VS stores it in a separate user file.
- 2007/01/04
- * Fixed old @go bug (it ignored einbech) [Lupus]
- * Added Au{R}oN's updated version of the effect list.
- * Completed adding of the new cities to @go.
- > that function is ugly and needs a complete rewrite, asap.
- * Updated thor volcano warps.
- * Updated /doc from jAthena. [ultramage]
- 2007/01/03
- * Added Rachel and Veins to the list of @go destinations.
- * Added a first approximation of warps for the new maps (by $ephiroth).
- * Now the server will by default perform symmetric adding of friends. [ultramage]
- > TODO - symmetric deletion (http://www.eathena.ws/board/index.php?showtopic=130749)
- * Fixed TURBO FIFO defines.
- * Moved refusal of a known packet versions to clif_parse_WantToConnection
- and made it check for non-player object with that id.
- * JK_JOINTBEAT as described in:
- http://www.ragnainfo.net/wiki/index.php/Vital_Strike
- Although not clear, it's being assumed that the 2x damage is only for the
- break neck ailment. [FlavioJS]
- * Modified the useless error message in atcommand_effect.
- * Silenced the debug message in socket.c that's been freaking people out.
- * Added support for text/comments at the end of monster spawn lines (<tab> required)
- * Added the official behavior of monsters regaining full hp when they morph.
- > info at http://www.eathena.ws/board/index.php?showtopic=130103
- * Fixed pc_calc_skilltree ignoring prerequisites / joblvl requirements for soullinked skills.
- > TODOs at http://www.eathena.ws/board/index.php?showtopic=130788
- * Re-applied change r9593 that got accidentally reverted by r9595. [ultramage]
- 2007/01/02
- * Fixed SC_JOINTBEAT not doing crit damage for the Neck Break ailment.
- * Gospel sends the buff message to the affected player. [FlavioJS]
- 2006/12/31
- * Made HSCR bypass both Guard and Shield Reflect using the dirty way [DracoRPG]
- > cleaner way would need to rethink the whole skill's implementation
- * Added more info when npc_scriptcont tries to continue a different script.
- * Refer to http://www.eathena.ws/board/index.php?showtopic=130285
- - Renamed pc_checkweighticon to pc_updateweightstatus and cleaned it.
- - Updated pc_is50overweight to use battle_config.natural_heal_weight_rate.
- - Added 90% weight check when attacking.
- * Updated getitem and guardian entries in script_commands.txt.
- * Fixed getitem trying to get <character ID> from the wrong argument.
- * Now getitem can be run on scripts without a player attached if
- <character ID> is specified.
- * Now the two last arguments of guardian are optional and independant of
- each other ("<event label>" and <guardian index>). This way the previous
- implementation and script_commands definition are still valid code.
- * Now buildin function names and argument definitions are checked for
- validity before adding the function to the script engine.
- Argument definitions follow the pattern: (v|s|i|l)*\?*\*? [FlavioJS]
- 2006/12/30
- * Reverted the packet structure changes to mmo_char_send006b in r9588 (was
- using the wrong exe for the final tests) except for the bug that I was
- originally fixing. [FlavioJS]
- 2006/12/29
- * Skill use is now cancelled when you use it while cloaking, and the
- uncloaking process warps you. [Skotlex]
- 2006/12/28
- * Reapplied Skotlex's socket.c changes from r9587 and r9582. :S
- * Part 3 of TheUltraMage's socket cleanup.
- * Fixed the packet structure in mmo_char_send006b for PACKETVER 8.
- * Removed search_str from add_str (add_str already searches for the
- string).
- * Native script words like do,while,for,... are case insensitive now.
- * Changed SCRIPT_HASH_SIZE to 1021 (prime hash sizes give better
- distributions).
- * Added alternative hash implementations to the script engine (to try out
- later). [FlavioJS]
- * Added a func_parse invocation when an invalid socket is found, so that
- the underlying code (char/map/login) can handle it and free any related
- resources.
- * Added some skill effect packets so it displays a generic effect for
- unknown targetted skills.
- * Some cleaning in do_sendrecv, added error messages when handling an
- incorrect socket. [Skotlex]
- 2006/12/27
- * Fixed Super Novice 99%+ invincibility triggering when
- the character dies in a GvG area. [blackhole89]
- * Updated SQL Files [Toms]
- * Fixed a bug which makes the group heal bonus be applied as many times as
- the item is in that group.
- * Applied Rayce's suggestion to improve the script hash size usage. eA now
- uses a hash of 1024.
- * Full Buster's auto-blind chance is now reducable by stats/items.
- 2006/12/26
- * Updated Charge Attack's damage equation as per the only source I've seen
- of it so far.
- * Now Guardians/Emperium can't hit /be hit if their current map isn't a
- gvg_castle or woe is off. This enables "localized" WoE by removing/setting
- the mapflag gvg_castle on the castles where you want WoE to take effect
- (note that even though normal players can't be hit on non gvg_castle maps,
- normal mobs can still be killed in such maps, you'd still need to modify
- the WoE scripts to use this kind of feature)
- * TK_MISSION will now pick any mob from the DB as long as it is not a boss
- type and it gives base exp.
- * Fixed the double-stone issue when hitting a petrified character.
- [Skotlex]
- 2006/12/25
- * Fixed buildin_getscrate, thanks Trancid.
- * Applied part 1 of TheUltraMage's socket cleanup.
- "Basically what I did was perform simple one-liner substitutions for
- ugly repetitive blocks of code. The most apparent are the send/recv
- code and the other basic socket calls."
- * flush_fifo is non-blocking now. I guess best effort is good enough...
- * Copied header files from vcproj-7.1 files to vcproj-8 files.
- * Applied the rest of Rayce's suggestions and fixes
- (http://www.eathena.ws/board/index.php?showtopic=129185)
- * warn_cmd_no_comma, warn_func_no_comma, warn_cmd_mismatch_paramnum are
- now warn_func_mismatch_paramnum and it only prevents showing the error,
- as it was probably intended in the first place. (correct me if i'm wrong)
- * Merged the parsing of function calls in the script engine, removing the
- parse_cmd hackery, and made "heal (.@val+rand(0xff))&0xff,0;" valid
- again. [FlavioJS]
- 2006/12/24
- * Small fix for changeset 9539 (support for PACKETVER above 7) [KarLaeda]
- 2006/12/23
- * Fallback for parenthesis argument lists in the script engine.
- "func (exp) , ..." is valid again.
- * Moved "#include <limits.h>" to cbasetypes.h to ensure it's included
- before checking if UINT_MAX has been defined.
- * Minor changes in pc_readdb related to max_level being unsigned.
- [FlavioJS]
- 2006/12/22
- * Simplified function agitcheck so it isn't crash prone. Now it takes no
- arguments, and will return whether WoE is on or not.
- * Now when you specify a max level beyond what the exp table has, the last
- entry of the exp table will be duplicated to fill in the remaining levels.
- [Skotlex]
- * Change strncpy to memcpy when parsing switches in the script engine
- since it's guaranteed to be a word of that size (skip_word).
- * Made scriptlabel_db duplicate the key. When str_buf is reallocated, the
- keys in scriptlabel_db could become invalid, causing a crash in
- npc_convertlabel_db.
- * Now npc_convertlabel_db clears scriptlabel_db after using it.
- * parse_script has an extra parameter options. At the moment it only
- indicates if scriptlabel_db should be used or not.
- * Fixed "UINT_MAX undeclared" on systems that don't declare it in limits.h
- [FlavioJS]
- 2006/12/21
- * Applied Rayce's suggestions and fixes to the script engine
- (http://www.eathena.ws/board/index.php?showtopic=129185)
- * Some cleaning to the character deletion code.
- * Changed a certain snprintf to strncpy, which should fix the problems with
- parsing switches in the script engine.
- * Added back cropping the attack delay to attack motion for those weird mobs
- that have a aDelay less than their aMotion time. [Skotlex]
- * Added a 1-node cache to db. Removed party_cache and guild_cache since
- now the database has a cache.
- * Fixed "warning: comparison is always false due to limited range of data type"
- by restricting script words to ASCII characters only.
- * Moved md5calc to common. [FlavioJS]
- 2006/12/20
- * Fixed ISSPACE and ISALPHA casting their returned value to a char, which
- can really mess up the scripting engine when the returned value is true,
- yet casted to false.
- * Moved the strip unequip code to before deleting the timer, this fixes
- trying to "re-strip" someone causing the skill to fail and on top of that
- terminate their current strip effect.
- * Reading of TK Mission variables will now happen if you are a TK-class
- character regardless of whether you know TK_MISSION or not. Should fix
- being able to reset skills to reset your Mission data.
- * Added an ugly work around to the issue of skills with additional effect
- causing opt1 status when they have just terminated them (in short, you
- shouldn't be able to hit someone with, say, sleep, and then have the same
- skill cause them stun, since both are opt1 values). [Skotlex]
- * Now root script functions calls can have parenthesis (will take any
- parenthesis after the function as the start of the argument list).
- - This means "func (exp),exp;" isn't valid anymore.
- * Replaced our fix for "mes ();" crashing by jA's version.
- * Merged the fix for & having the same precedence as << and >> from jA.
- * Merged the C_OP3 operator from jA: test ? if_true : if_false
- * Changed the script source from unsigned char* to const char*.
- * Updated plugins Makefile. [FlavioJS]
- 2006/12/19
- * Reverted the mob ThinkTime update, that field is again aDelay as it
- apparently should be. [Skotlex]
- * Cleanups or minor changes.
- * Now addtick_timer invokes settick_timer, so keep an eye for whatever
- timer issues it's supposed to have.
- * Removed the flush_fifo from clif_parse_TickSend until the socket
- problems are fixed. [FlavioJS]
- 2006/12/18
- * Updated POS2 macros. The 6th byte is subx0 and suby0. [FlavioJS]
- * Added hom_setting to specify which homunculus 'quirks' are in effect. The
- default activates all of them, if you set them to 0 then homuncs will not
- be treated in any special matter, pretty much like standard mobs. if I
- missed any 'quirky' homunc behaviour from it, report it so it can be added
- to the list.
- * Made flooritem_lifetime a int so you can specify much longer life times
- (the default of 60k was already very close to the max of 65k)
- * Removed monster_ai 0x80 since it's now handled by hom_setting.
- * When walking into a Guild Dungeon your pvp_points will be set to 5 so you
- have to die twice before being warped out.
- * If jobchanging while disguised, the disguise will be removed, since it
- can't be kept and still calculate correctly the new job class to use.
- * Fuuma shurikens are now unbreakable code-wise (like all maces, books,
- etc)
- * Applied Meruru's patch to increase speed of easy path seeks. [Skotlex]
- * Cosmetic changes to db.
- * Fixed the unused MAPINDEX_AUTOADD section in mapindex.c (mapindex.h
- wasn't being included) [FlavioJS]
- 2006/12/16
- * Moved packet_len_table values to packet_db[SERVER].
- * When an invalid packet_ver is found, all it's entries are discarted
- intead of just stopping the parsing.
- * Increased MAX_PACKET_DB to 0x300 and added a warning for when packet ids
- greater than MAX_PACKET_DB are found. [FlavioJS]
- 2006/12/15
- * There will be now warnings printed when a shop sells an item which's buy
- price is 20z, since those usually are "rare" items with no buyying price
- set. Note that this reports one fake, and that is the selling of a certain
- shuriken that indeed costs 20z.
- * Most likely fixed client crash when xmas/wedding status runs out.
- 2006/12/14
- * Removed "mobs being enemies of each other all the time" because, even
- though mobs can hit each other as they should, they will refuse to use
- support skills on enemies, which breaks several of their skills. Mobs can't
- both help and attack someone tagged as enemy!
- (I guess eA is just too smart to emulate Aegis's sloppy coding)
- * Cleaned up the strip code (GS_DISARM, rogue skills).
- * Cleaned some the MD_DETECTOR code.
- 2006/12/13
- * Additional damage bonuses (True Sight, EDP, Assassin Link, Crusader Link,
- Card skill damage bonuses) are now applied independently of each other,
- which lets them stack. [Skotlex]
- * Modified flush_fifo so the code do what is written in the comment [Toms]
- * Modified flush_fifo so you can decide whether to block the current thread
- or not until the data is sent. The server-tick reply no longer blocks the
- current thread.
- * Fixed mobs being unable to attack anything...
- 2006/12/12
- * Reverted the knockback update since it isn't working right with all
- skills.
- * Mobs now by default are "everyone's" enemy, so mobs are able to hit each another.
- * Moved "unsetting" the angry mode from the mob_ai to the mob_damage
- function, where it'll work regardless of who hits the mob.
- * Modifed a bit the clif_change_look function, it should fix crashes with
- the Xmas sprite when changing maps.
- * Fixed skills displaying a 32k damage when used while disguised. [Skotlex]
- * Minor changes to ers.
- * Removed unused/hardly used cbasetypes typedefs.
- * Updated txt-converter's makefile to include utils.o [FlavioJS]
- * Updated npc_event_dequeue to free up your current npc information, and
- not just the npc_id.
- * Modified the skill damage packet and the knockback packets to mimic aegis
- sent packets for such skills.
- * Removed CART_MASK as OPTION_CART can take care of that.
- * Moved the OPTION_MASK define to status.h
- * Reverted the knockback implementation to use clif_slide instead of
- clif_fixpos [Skotlex]
- 2006/12/11
- * Added various missing checks when parsing several guild actions.
- * made @hominfo display the six basic stats.
- * Simplified the MD_DETECTOR checks, since now all insects/demons have it
- set, and it's no longer needed to check for the race. [Skotlex]
- * Updated sql files [Playtester]
- * Spirit of Sin and Enchant Deadly Poison now stack.
- * Fixed skill damage card bonuses not working on magic skills.
- * Moved the setting of sd->npc_id = 0 in npc_dequeue to the beginning,
- since this function is called when a script is cancelled
- * Made homunc's speed be recalculated when you respawn it from rest state.
- [Skotlex]
- * Fixed @revive not reviving the good char [Toms]
- 2006/12/10
- * Added more helpful messages when packet_ver=-1.
- * Joined normal and MINICORE's main function.
- * Put malloc_init() first and malloc_final() last as it's needed for Show*
- in display_title(). [FlavioJS]
- 2006/12/09
- * Reversed revision #9415 (messages with server_tick field being sent as
- soon as possible) since it didn't fix the client synchronization issue.
- * clif_parse_TickSend is sent immediately so the client gets accurate
- "pings". [FlavioJS]
- 2006/12/08
- * Now you can request a trade regardless of the state of the target trader.
- [Skotlex]
- * The trade will now fail when you accept it and either character is
- speaking with an npc, vending or has the storage open. [Skotlex]
- * Fixed crash when looters became full. [Skotlex]
- * Autospell delay time is now the skill's full delay. [Skotlex]
- 2006/12/07
- * Fixed ladmin's linux compilation and moved some platform specific
- defines to cbasetypes.h [FlavioJS]
- * Cleaned up implementation of NPC_EMOTION/NPC_EMOTION_ON. Now val0 is the
- emotion, val1 sets the mode, val2 adds to the mode, val3 removes from the
- mode. val4 asks to remove the previous mode change, otherwise it will stack
- with the changes from the previous skill call. [Skotlex]
- * Updated the mob skill reading code so it accepts hexadecimals in the
- 'val' fields. Also, it will optimize the NPC values so that when you set a
- mob's mode to their db mode, it will just remove the previous mode.
- [Skotlex]
- * NPC_EMOTION_ON will now automatically move it's new mode to val2 since it
- should add a mode, and if this mode doesn't has the aggressive bit, it will
- remove it. See this "ancient" hypothesis on how NPC_EMOTION_ON should work
- for the details: [Skotlex]
- http://www.eathena.ws/board/index.php?showtopic=63606
- * Fixed npc commands atcommand & charcommand not working with a custom
- command_symbol [Toms]
- 2006/12/06
- * Changed the order of view-change packets for SC xmas/wedding, should fix
- crashing if you change into xmas suit while in fighting stance. [Skotlex]
- * Renamed the mob mode Cast-Sensor Melee to Cast-Sensor idle since these
- mobs really should only be cast-sensing when they are not after another
- target. [Skotlex]
- * Added a Aegis Mob Type -> eA Mode table conversion to the mob modes doc.
- [Skotlex]
- * Updated sql-files [Playtester]
- * Gave a minimum think time to the dummy mob and to clones. [Skotlex]
- * Moved setting a mob's chase/attack states from the mob_ai to unit_attack
- and unit_walktobl for better state-handling precision. [Skotlex]
- * Cleaned the change-target/cast-sensor code to account for the new mob
- modes. [Skotlex]
- * Updated the doc explaining mob modes. [Skotlex]
- * When GM skill unconditional is set, the arrow state of the skill will be
- calculated, this fixes all skills getting stuck on arrow-type after you
- attack normally. [Skotlex]
- * Alchemist famous potions get their 50% bonus on top of the natural
- bonuses as a 1.5x type of bonus. In other words, now alchemist potions
- will really heal 50% more than when you use the non-famous potion
- version.
- [Skotlex]
- * Messages with server_tick field are sent as soon as possible now.
- This might fix client synchronization issues.
- * Added StringBuf_Vprintf to utils.c and changed the showmsg.c buffer.
- Now it uses a static buffer and a StringBuf when needed (a debug message
- indicating the static buffer needs to be increased is shown). [FlavioJS]
- 2006/12/05
- * The can log value now is "reset" when you die allowing you to
- respawn/quit instantly after death. [Skotlex]
- * Fixed sc data load failing when using charsave_method: 1 [Skotlex]
- * Fixed the interserver link reserve size being 8 times instead of 1/8th
- the default size. Changed it to be 1/4th as well. [Skotlex]
- * Found the position of emblem_id in packet 1b6.
- * Moved START_ACCOUNT_NUM and END_ACCOUNT_NUM from login.h to mmo.h and
- changed clif_guess_PacketVer to use that.
- * Made the script engine big-endian compatible.
- * Commented out the remnants of ladmin packet parsing in map-server.
- * Added a warning when a player has an invalid packet version (shouldn't
- happen). [FlavioJS]
- 2006/12/04
- * Fixed HVAN_INSTRUCT int bonuses. [Skotlex]
- * Renamed mob_db's "adelay" column to ThinkTime and made the mob.c code use
- it instead of MIN_MOBTHINKTIME. The adelay of mobs will also be equal to
- their thinktime unless their thinktime is less than their attack motion.
- [Skotlex]
- * Added a static +100 Hp to ninjas and gunslingers since it's required for
- the best approximated hp growth algorythm. [Skotlex]
- * Knockback will again use the fixpos packet instead of the slide packet
- (slide was introduced with high jump) since Aegis captures say that packet
- is still used for knockbacks. [Skotlex]
- * Repairing items via scripts no longer displays "item has been repaired"
- [Skotlex]
- * Status Recovery again makes mobs unlock their current target. [Skotlex]
- * Moved requesting party/guilds from the char-server from pc_authok to
- pc_reg_received, since map_nick2sd and map_getallsd won't work until the
- characters are authentified. Also removed the guild master setting from
- clif_parse_LoadEndAck to pc_reg_received since guild master setting will
- work there. [Skotlex]
- * Fixed homun hunger timer being started on login even when hom is
- vaporized/dead. [Skotlex]
- * Fixed mvp exp attacker bonus applying incorrectly. [Skotlex]
- * Removed duplicate msg_athena.conf entries 619 and 620 for
- Ninja/Gunslinger.[Skotlex]
- * Fixed the txt->sql converter not escaping character names before saving
- them. [Skotlex]
- * Fixed a pet's level not resetting to their db level when you enable pet
- leveling and later on decide to turn it off. [Skotlex]
- * Fixed restricted equipment not updating your view info after they are
- unequipped. [Skotlex]
- * Removed a bunch of extra text/checks when ignoring characters (/ex) when
- Aegis does none of these checks. /inall now wipes your ignore list (it does
- this on Aegis, too). [Skotlex]
- 2006/12/03
- * If somehow a player logs out and it's saved with 0 hp, on login his state
- will be set to dead as well so he can respawn (otherwise that leads to a
- stuck char) [Skotlex]
- * Fixed even share exp flutuating as described in:
- http://www.eathena.ws/board/index.php?showtopic=126139
- thanks to TheUltraMague for the fix.
- * Made ers double frees report as missing entries on destruction.
- * Only one swap function (in cbasetypes.h) is used. [FlavioJS]
- 2006/12/02
- * Added buildin_checkvending and buildin_checkchatting. [Lance]
- * Enabled atcommand parsing for clients with Korean langtype and version. [Lance]
- * Added missing min/max definitions to cbasetypes.h, needed for the @send change.
- * Replaced @send with the version I use for testing packets.
- Can display the packet length. Supports dynamic packets, quoted strings
- with escaped characters and fixed/variable length, and normal/hex
- byte/word/long data types. The number of fields is not limited, but it
- automatically stops parsing when the packet is full. [FlavioJS]
- 2006/12/01
- * Fixed passive mobs becoming increasingly unlikely to retaliate to attacks
- after they got inflicted by a disabling status change. [Skotlex]
- * Changed the "is_boss" define to check for mode MD_BOSS instead of giving
- mvp exp. [Skotlex]
- * Updated sql files [Playtester]
- * Fixed txt-converter compilation. [Skotlex]
- * STRECOVERYno longer makes a mob unlock it's target like Cure does.
- [Skotlex]
- * Fixed GS_GROUNDDRIFT consuming ammo when it's time expires (so it was
- consuming 2 grenades instead of one). Also added a "explosion effect" when
- their time runs out. [Skotlex]
- * gvg_dungeon mapflag won't set pvp related mapflags anymore, pc_dead will
- force pvp ranking gain/loss on gvg_dungeon maps now. [Skotlex]
- * Now when coming out of hiding land-effects will trigger on the character.
- [Skotlex]
- * Fixed land effects not taking effect inmediately on map-load when the
- invincible timer is disabled. [Skotlex]
- 2006/11/29
- * Probably fixed the Segmentation Faults we've been having.
- Description: A player quits and it's session is freed and set to NULL,
- but the char server already sent a packet with player information
- (registers, storage, ...). If a message is sent in consequence of
- updating that info, a segmentation fault happens because
- session[sd->fd] is already NULL.
- Fix: make shure the session of the target player is valid before
- processing the rest of the char server's message.
- * Some minor cleanups. [FlavioJS]
- * Fixed the new npc parsing code not accounting for windows-style line
- terminators, which as a side effect messed up mapflag parsing if the file
- had windows-style terminators, which coincidentally was the case for the
- nopvp file, which unfortunately meant that all towns became pvp! [Skotlex]
- * HT_PHANTASMIC no longer knocks back even when it misses. [Skotlex]
- * Earned exp by dead homuns will now be lost (same treatment as earned exp
- from players that died) [Skotlex]
- * Now gvg_dungeon mapflag will activate the other mapflags which are
- required: pvp, pvp_nocalcrank and pvp_noparty/pvp_noguild (they are forced
- to off if gvg_dungeon is on and viceversa) [Skotlex]
- * Cleaned the pvp ranking code so that it takes effect even if
- pvp_nocalcrank is active WHEN the map is a gvg_dungeon one. [Skotlex]
- * Now homuncs and their masters are the only ones who can use support
- skills on them. [Skotlex]
- * Some cleaning on the homunc speed calculating code, so that it correctly
- uses the default walk speed if the player has no speed yet. [Skotlex]
- 2006/11/28
- * Fixed a typo which made the wedding_ignore_palette setting not work when
- you log on with them equipped [Skotlex]
- * Applied The Ultra Mage's patch to use strict npc header formatting
- parsing. Updated the relevant stock scripts/mapflags that didn't conform to
- the standard. [Skotlex]
- * Moved the blocking of casting supportive skills on homunculus from
- battle_check_target to status_check_skilluse as bct is not invoked unless
- the skill is offensive (or party/guild only) [Skotlex]
- * Cleaned up status_calc_bl_sub_hom, fixed recasting dex/str/vit/int
- bonuses skills making their atk/def/mdef stack with itself over and over.
- [Skotlex]
- * Updated sql files [Playtester]
- * Changing setting the Guild Master from pc_authok to clif_parse_LoadEndAck
- so that it will not fail to set the gmaster flag when the first person of a
- guild to log on is the guild master. [Skotlex]
- * Modified the way Storm Gust freeze's counter works. Now it checks for the
- caster of the Storm Gust, if it's the same as the previous hit, the counter
- is increased, otherwise, the ID is updated and the counter is changed to 1.
- [Skotlex]
- * Fixed always receiving at least 1 bexp/jexp even when the mob gives no
- exp at all. [Skotlex]
- * Changed write to send as suggested by TheUltraMage in:
- http://www.eathena.ws/board/index.php?showtopic=105417
- Hopefully that will take care of the SIGPIPE problem in Debian and cygwin.
- * Server name in core.c skipping '\\' characters.
- * Memory allocation functions using file,line,func from the invoking functions.
- * Other minor malloc changes. [FlavioJS]
- 2006/11/27
- * Now when a player's "attack once" request fails due to range, the client
- is told to move to the target to attack it. This sort of fixes the problem
- of the client SPAMMING the server with attack requests from afar without
- even approaching the icewall. [Skotlex]
- * Updated the status change field "option" to an int rather than short.
- This fixes the option values for xmas/sightblaster not getting set, which
- could explain why some people crash when equipping weapons while in xmas
- suit. [Skotlex]
- * Fixed the Homunculus hungry timer not starting on login. [Skotlex]
- * Added logging for standard GM commands (/mm /b /kick etc) [KarLaeda]
- * Some cleanups on the trade_additem function. When specifying a qty of 0,
- an ack will be returned to the client so it doesn't gets stuck. [Skotlex]
- * Update sql files [Toms]
- * Corrected the skill animation for Absorb Spirits [Skotlex]
- * Cleaned up a bit the implementation of how Gravity Field blocks the
- caster from moving. [Skotlex]
- * Mob class-changing will fail if the new class is the same as the previous
- one. [Skotlex]
- 2006/11/24
- * Homunc's min matk is now always equal to max matk [Skotlex]
- * Fixed EDP's damage being 100% more than it should (should be 4x, not 5x
- on normal attacks) [Skotlex]
- * Self Destruction will only hit everyone and not just enemies when used by
- mobs (non marine spheres) unless the map is a versus map. [Skotlex]
- * Spider Web's duration is now halved on players (before it was halved in
- pvp maps only) [Skotlex]
- * Likely fixed Homunculus not disappearing the second their intimacy hit 0.
- [Skotlex]
- * Fixed uninitialized variable fd being used in WFIFOHEAD in a few clif
- functions. [Skotlex]
- * Fixed the fact that the TURBO code breaks when you attempt to handle more
- than one connection at a time within the same function. However this broke
- map-server compilation, therefore, don't use TURBO yet! [Skotlex]
- * While at it, cleaned a few packet implementations in the char/login
- servers which were not only ugly, but had some really stupid flaws within.
- [Skotlex]
- 2006/11/23
- * Completed Reddozen's hanging mapwarp code to support party and old syntax. [Lance]
- * Updated sql files [Playtester]
- * Made WFIFOHEAD() check for available buffer size remaining on the
- connection, and when there's not enough space, it will increase it.
- [Skotlex]
- * Added define TURBO to the Makefile. It enables MouseJstr's socket access
- optimization which should speed up the code when accessing the write/read
- buffers repeatedly within a function. [Skotlex]
- * Fixed the functions where the RFIFOHEAD/WFIFOHEAD functions were used
- incorrectly (prevents TURBO enabled compilations from finishing) [Skotlex]
- 2006/11/22
- * Modified slaves_inherit_speed and slaves_inherit_mode so you get better
- control of when to copy/remove modes/speed. See the conf changelog for
- details. [Skotlex]
- * Reenabled usage of mode MD_CHANGETARGET, so mobs with mode 0x200 will be
- able to switch targets while attacking. [Skotlex]
- * Some cleanups around usage of session[] in the map server, hoping that it
- may fix some not very likely crashes. [Skotlex]
- * Rewrote a few messy @ commands. [Skotlex]
- * Fixed the homunc hungry timer being started when the homun data is
- received from the char-server and the homunc is NOT 'active'. [Skotlex]
- 2006/11/21
- * Fixed the Auto-Berserk giving you back defense when it triggers during
- berserk's HP penalty. [Skotlex]
- * Some small changes in the pet ai to make it more responsive. [Skotlex]
- * Rewrote the pet looting behaviour (taken from the mob's), pets are much
- more smarter now when looting from multiple possible items. [Skotlex]
- * Fixed pets/homunc trying to be deleted twice when they had 0 intimacy and
- their master logs out. [Skotlex]
- * Added support for specifying ammo type = 99 in the skill_require_db file,
- it can be used to specify that any kind of ammo can be used with the skill,
- but you NEED to have ammo equipped. [Skotlex]
- * Corrected GS_DISARM, it is now a normal attack, which, when it connects,
- has a chance to do strip weapon at a 3*lv% rate (modified by dex) [Skotlex]
- * Fixed GS_PIERCINGSHOT, it should ignore defense [Skotlex]
- * Corrected Gatling Fever costing SP when trying to turn it off. Also,
- speed increases bonuses won't take effect while it's active. [Skotlex]
- * Updated the main makefile with a new OPT line. It is commented by default
- since it only works with GCC 4.X, when unset, it will hide away a huge
- amount of warnings that have to do with stuff that is not gonna be
- corrected in eA anyway. [Skotlex]
- * Corrected TripleAction's damage. It should do 150%*3 instead of 100*3%
- damage. [Skotlex]
- * Updated GS_CRACKER's stun chance using Doddler's info as reference.
- [Skotlex]
- * GS_FLING won't reduce armor defense when used on players. [Skotlex]
- * Moved ignoreAll to state.ignoreAll so it saves some space. [Skotlex]
- * Cleaned up clif_parse_Wis to prevent crashes from forged packets
- [Skotlex]
- * Cleaned up the implementation of the ignore list so it's more efficient.
- [Skotlex]
- 2006/11/20
- * Implemented NPC_DEFENDER. Reduces ranged Physical+Misc damage by 80%
- [Skotlex]
- * Improved the battle config reader so it accepts hexadecimal values.
- Updated the monster_ai description to make use of this [Skotlex]
- * Added monster_ai&0x200. When set, mob skill delays are shared. That is,
- if the mob has several lines with the same skill, when the skill is used,
- the delay will be set to all of them, not just the one entry used.
- [Skotlex]
- * Corrected NPC_BARRIER so it grants 100 def/mdef (and not just mdef)
- [Skotlex]
- * Weapon ATK bonuses will now only apply to watk and NOT watk2 on players
- (on players watk2 is refine bonus) [Skotlex]
- * Corrected NPC_KEEPING. it should give 90 def, not 100 [Skotlex]
- * You now can't use other skills while a skill-induced "window" is up
- (teleport, refining, etc). However, be warned that we aren't quite sure how
- the server will clear this out if you decide to hit cancel on the window,
- so skill-blockage is likely to happen (temporary solution: whenever you
- change maps or warp the state is reset server-side). [Skotlex]
- * Fixed itemskill variable being cleared before parsing the skill, this
- causes auto-casted teleport to fail to skip the skill menu. It is now
- cleared on castend_pos/id directly. [Skotlex]
- * Skills with state 'move_enable' will now do a "walk path" check between
- target cell/object and caster instead of a "shoot path" check, this would
- fix skills like snap or charge from letting you "teleport" across pits.
- [Skotlex]
- * Raised the amount of skills that can stack on a single cell before the
- "in-area/out-area" detection code breaks to 24 (from 8) [Skotlex]
- * Fixed a crash in clif_SkillInfoBlock if the passed player already
- disconnected. [Skotlex]
- * Added limiting drop rate to 100% from item-bonuses that depend on the
- mob's level so that "@autoloot 100" will catch them. [Skotlex]
- 2006/11/19
- * Removed security check since source level patch is applied.
- * Reverted select(), created prompt().
- * Hack protection from packet monkeys in clif_parse_NpcSelectMenu. [Lance]
- * Added 'cancel' button parsing in buildin_select menu system. Now scripts will continue
- to load if 'cancel' is pressed and 255 will be returned. [Lance]
- 2006/11/17
- * Corrected use of the party invitation reply packet, thanks to FlavioJS.
- [Skotlex]
- * Fixed potential hack by modifying packet of whispers. [Lance]
- * Fixed potential crash in IRC processing message with '%' using *printf. [Lance]
- * Fixed memory leaking caused by homun_data not freed when removed. [Lance]
- * Fixed client not validating the chat-kick-request packet, which can cause
- crashes. [Skotlex]
- * Updated map_quit to handle removing of players who are not even
- authenticated yet. [Skotlex]
- * New connection requests are now also blocked when there's a player
- already online but hasn't finished loading yet. [Skotlex]
- * Because of these changes, the friendlist notification when people join
- has been moved to LoadEndAck from pc_authok [Skotlex]
- 2006/11/16
- * Updated sql files [Toms]
- * For the sake of avoiding confusion, all script events are named with prefix 'On'
- from now on. [Lance]
- * Edited atcommand and charcommand syntax. Now it doesn't need the useless
- character name and ":". [Lance]
- * Shadow Jump and Kirikage won't "move" you if you use them in GvG grounds.
- Fixed Kirikage so it first warps you, and then you unhide. [Skotlex]
- * Corrected Zeny Nage so the Zeny spent on the attack is always the exact
- same value as the damage you are dealing. Also corrected it so it does half
- damage when used on players. [Skotlex]
- * Overlapping song/dances will now cause dissonance/ugly-dance level 1
- instead of retaining the level of their song/dance. [Skotlex]
- * Fixed wrong check in @petrename, thanks to The Ultra Mage.[Skotlex]
- 2006/11/14
- * Early Christmas present. 3 new "features" which were very easy to code,
- and should help scripters tremendously. Eapp is quite a way from being
- ready, so these can't hurt:
- * Implemented Karma: It turns out that when someone has karma, the client
- believes this character is "evil", and will give you a cursor sword on top
- of them automatically. So now the code will let characters with karma to
- fight each other. This enables duels and other types of restricted pvp
- where only the characters with karma can hit each others, and the rest of
- players with neutral karma cannot be affected. Note that Karma cannot be
- negative, and it can have any value between 0 and 256 (any non-zero value
- makes them appear evil on the client). For now, characters with karma can
- hit each other regardless of karma value, but perhaps it may be better to
- let them to hit each other ONLY if they have the same karma (the whole
- duel implementation COULD be cleaned up using Karma instead!)
- * Added mapflags partylock and guildlock, which lock the state of the
- parties/guilds on said maps:
- partylock: blocks user party requests to create/invite/leave/kick
- guildlock: blocks user guild requests to create/invite/leave/expel/
- make alliance/make opposition/delete alliance/delete opposition/
- break guild
- 2006/11/13
- * Fixed a bug where the char-txt server was incorrectly saving memos,
- causing character data to be lost on restart. [Skotlex]
- * HP Conversion will fail when used at max SP. It should not display any
- errors to the client. [Skotlex]
- * Modified yet again the login procedure to enable character variables to
- work on item scripts. It SHOULD work crashless now. Please report any
- problems it may cause.
- * Volcano/Deluge/Violent Gale are now interchangeable, in the sense that
- as long as one of these is out, casting any of the three will not consume
- gems, and will use the remaining time of the previous one. In turn, Land
- Protector will now always consume gems on every cast. [Skotlex]
- * Small cleanup in the Land protector code which may fix it not blocking
- AoE skills. [Skotlex]
- * Fixed the interpretation of "head_dir". Removed setting head_dir to match
- character direction in the whole code. Now it is only reset to 0 (look
- forward) when unit_setpos is invoked, or when a character begins walking.
- Thanks to FlavioJS for figuring out how the client parses the head
- direction. [Skotlex]
- * Moved status_calc_pc back to pc_authok. [Lance]
- 2006/11/11
- * Fixed debug message in login_sql [KarLaeda]
- 2006/11/10
- * Deluge/Violent Gale/Volcano tiles will now fail to be placed on cells
- that are already ocuppied by anything else. [Skotlex]
- * status_is_immune will now return 0 or the amount of immunity of the
- target. In which cases it returns 100 for WoH and the GTB bonus when they
- have passed the gtb_sc_immunity setting. This enables targetted spells to
- not "fail silently" unless GTB's magic reduction is 100. [Skotlex]
- * Fixed Homunculus being spawned as soon as they arrive from the
- char-server even if the Master has not spawned on the map yet. [Skotlex]
- * AL_TELEPORT now fails when used on top of Land Protector. [Skotlex]
- * Some minor cleanings in pc_setpos, it may (or not) help fix that
- homunc-caused "map_addblock" error message. [Skotlex]
- * Corrected fog of wall, so that the deleted/doubled-duration effects are
- calculated on a cell-by-cell basis. [Skotlex]
- * Updated Land Protector: It will now delete/block effects of ALL ground
- skills EXCEPT: Song/Dances/Traps (encores are still blocked). Land skills
- blocked/deleted by LP also can't be casted on top of an existing LP. The
- code uses the inf2 value of the skill to determine if it is a
- song/dance/trap. [Skotlex]
- * Ganbantein, mimicking LP, will now also remove ensembles. [Skotlex]
- * Fog of Wall will fail when casted on top of a Volcano/Violent Gale
- [Skotlex]
- * Applied FlavioJS's fix to the npc whisper system. [Skotlex]
- 2006/11/09
- * Fixed status-change loading not working. [Skotlex]
- * Fixed permanent mob-spawn script-events not working. [Skotlex]
- * AL_CURE won't confuse undead players. [Skotlex]
- * Corrected the Fog of Wall check so that it lasts 2x when it is placed on
- TOP of a suiton/deluge, not when the caster is on top of them. [Skotlex]
- * Updated status_check_skilluse so that when the caster has a disabling
- status change (stun/petrify/etc) it will block the skill in all cases
- EXCEPT on cast-end when the skill is ground-targetted. [Skotlex]
- * Fixed Health Conversion skill formula bug. [Lupus]
- 2006/11/08
- * Fixed Desperado's hit-rate, now it behaves as it should. [Skotlex]
- * The GVG map-packet will now also be sent for guild dungeon maps.
- [Skotlex]
- * Added clif_gospel_info which displays info about the buffs you are
- receiving. Thanks to Rayce for the packet information. [Skotlex]
- * Fixed Spider Web not ending when hit by a fireelemental attack. [Skotlex]
- * Cast-time reductions from status changes will not be executed until right
- before casting, to prevent status changes from ending when attempting to
- cast and the attempt fails (invalid cells, not enough sp, wrong target,
- etc, etc) [Skotlex]
- * Added check to prevent Wand of Hermod from seeking for a partner to
- encore, since the partner is supposed to be the warp. [Skotlex]
- * Corrected the mob spawn reading code so that the event-name can be up to
- 50 characters long (which is the actual event length) and so that it can
- read spaces within them, it will also strip the leading/trailing quotes if
- you use them so that the event is actually found on mob-death (so you can
- do stuff like "My NPC::OnDead" as a valid event). [Skotlex]
- * Moved the homunc inherit speed from the master from status_calc_pc to
- LoadEndAck, since the hom's speed matches that of the master each time the
- master changes maps. [Skotlex]
- 2006/11/07
- * Applied FlavioJs's patch which enables colored console output for Windows
- systems. It also includes a config setting called
- "stdout_with_ansisequence" with which you can turn off the color codes (in
- case you are logging all output) [Skotlex]
- * Added error reporting when the max number of ground unit cells has been
- reached (this may be the reason why sometimes it fails to recognize when
- you step out of a song/dance/encore) [Skotlex]
- * Added passing the Endure effect to other devoted people. Note that the
- "hit count" is individual for each character, and only when it ends on the
- Crusader himself will that force it to end on everyone else. It also will
- not transfer on gvg grounds, but it does transfer in pvp. [Skotlex]
- * Fixed Reflect-Shield triggering Auto-Guard instead on devoted chars.
- [Skotlex]
- * Added a check to prevent casting ground skills on a target and vice-versa
- when said skill use packets are received. It really shouldn't be
- exploitable, but doing that certainly makes the server print a lot of
- "unknown skill used!" messages. [Skotlex]
- * Fixed map_foreachiddb and map_foreachpc so they don't encapsulate the
- variable arguments into a double va_arg list. Thanks to the Ultra Mage for
- the tip. [Skotlex]
- * Cleaned up the clif_hate/mob_info functions with the correct fields/usage
- as explained by Rayce. [Skotlex]
- * Implemented clif_feel_hate_reset packet to properly display the Angel of
- the Sun/Moon/Stars, thanks again to Rayce for the relevant information.
- [Skotlex]
- * LP will again block all land-stuff from being placed down on top of it
- for the exception of Song/Dance/Encores. [Skotlex]
- 2006/11/06
- * Reapplied 'fix equipment scripts which are based on character variables not
- working.' [Lance]
- * Multiple Gunslinger skill corrections, refer to
- http://ro.doddlercon.com/guides/gunslinger.html for information source:
- [Skotlex]
- - Corrected Ground Drift. Splash range of 3x3, stackable and placeable
- underneath others, cast time is 2 secs. It's considered ranged, and it's
- bonus damage increase is defense ignoring, always neutral.
- - Corrected Bull's Eye implementation, it should deal normal damage against
- non brute/demi-human targets.
- - GS_DUST is now considered a short-range attack.
- - Implemented Desperado's hit rate based on distance to caster as it's
- believed to behave.
- - GS_TRACKING's range is no longer affected by Snake Eye.
- - GS_FLING's defense reduction is now 5*lv%
- * Suiton's Speed/Agi penalty will affect everyone when used in versus maps.
- * Corrected Kaupe so it doesn't ends on the first part of Soul Destroyer.
- [Skotlex]
- * Applied some cleaning to the way Tatami Gaeshi knocks back. [Skotlex]
- * Cleaned up the way mobskill_use checks for the correct event. It should
- fix unlimited mob-skill-casting issues. [Skotlex]
- * Removed the return code entry when logging GM reload-GM requests
- (login-sql),it'll just be stored as zero. [Skotlex]
- * Added a fix on socket.c to not pick INADDR_ANY when choosing our own IP.
- [Skotlex]
- * Applied the correction on maprespawnguildid so that it parses ALL players
- and not just those on a map. [Skotlex]
- * TK_JUMPKICK now dispels normal aspd/speed potions (not berserk pitched
- ones) and Preserve will be unable to block this. [Skotlex]
- * Soul Linkers are now immune to SA_DISPEL [Skotlex]
- * You can now place everything (except magic skills) on top of LPs.
- [Skotlex]
- * Corrected Ganbantein to not touch song/dance/ensembles. [Skotlex]
- * Status_calc_pc will refuse to execute if the player is still tagged as a
- "new connection" and the invocation is not meant to be the first one.
- [Skotlex]
- * Swapped the order of checks in status_isimmune so that Wand of Hermod
- skill blocking takes precedence over GTB's [Skotlex]
- * Client packets will all be ignored while a player is not on a map until
- the LoadEndAck packet is received. [Skotlex]
- * Reverted changes, moved status_calc_pc(sd,1) back to pc_authok
- since it causes problems. [Lance]
- * Temperory fixed stability issue caused by initial status_calc_pc
- being placed AFTER another status_calc_pc. [Lance]
- 2006/11/05
- * Updated sql files [Toms]
- * Updated perl files acording to rev 9135 [Toms]
- 2006/11/04
- * Readded duel code in map_quit. Why it has been removed!? [LuzZza]
- * Converted itemdb tables to use smallint. Credits to ALZ. [Lance]
- 2006/11/01
- * Reverted LK_Berserk HP requirement, as everything, including kRO X.2 and
- pRO X.3, points that way. [Vicious]
- 2006/10/31
- * Fixed song/dance/encore cells not being placed down when casted on top of
- a land Protector. [Skotlex]
- * Update homunc's speed when master's speed changes, should avoid homunc's
- speed = 0 on login (homunc's stats are calculated before master's stats) [Toms]
- * When Kaizel (or super novice rebirth skill) triggers, you get debuffed
- now. [Skotlex]
- * Modified the player_cloak_check_type and monster_cloak_check_type
- settings. 1 makes it check for walls, 2 makes cloaking NOT end on normal
- attacks, and 4 makes cloaking NOT end when using skills. The default
- setting for players is still 1, but for mobs the default has been changed
- to 4. [Skotlex]
- * Non-players can now use all skills while hidden. [Skotlex]
- * Added a check to prevent adding negative damage to the total accumulated
- damage in mob_damage. It could fix some exploits, even though mob_damage
- should never be invoked with negative damage anyway. [Skotlex]
- * Implemented the property where the first attacker get's double exp-share
- than the others. Due to the way exp calculation is done, this bonus will
- not apply when you use exp_calc_type 1 (damage/max_hp) instead of the
- default (damage/total-damage). For now this bonus is done after calculating
- who is the MVP character instead of before. [Skotlex]
- 2006/10/30
- * Fixed a little bug in event enqueue code [Toms]
- * Updated the code so mobs can use ChainAction as a targetted skill.
- [Skotlex]
- * Added GroundDrift effects for Wind (Stun) and Fire (knockback). The
- knockback value is unknown, so 3 is used for now. [Skotlex]
- * Cleaned up some more the steal code, now you can't steal the last slot
- regardless of skill level used. [Skotlex]
- * Added consideration of Chain Action when cloning GunSlingers. [Skotlex]
- * Modified battle_calc_return_damage to take the skill id as well, now
- magic damage return will not work on skills tagged as ground or self
- targetted. [Skotlex]
- * Fixed Gank not working at all with the default max steal tries setting.
- [Skotlex]
- * Soul Drain won't work with skills tagged as self-targetted. [Skotlex]
- * Improved the Suiton code so that the walk/agi penalty only applies to
- enemies of whoever casted the skill. [Skotlex]
- * Moved the initial status_calc_pc call to when you finish loading the map,
- should fix equipment scripts which are based on character variables not
- working. [Skotlex]
- * Fixed getcharid according to samples and docs. [Lupus]
- Thanks to joshuaali for pointing it out. eAPP has no such bug
- 2006/10/27
- * Fixed mob-skill event "skillused" not triggering at all. [Skotlex]
- * Summoned mobs will only be removed from a map if their master is also
- removed (dynamic mobs) [Skotlex]
- 2006/10/26
- * Updated sql files [Playtester]
- * Experimental tweak to npc_parse_function - Overwrite existing functions. [Lance]
- 2006/10/25
- * Cleaned up some more the event dequeue code, it will no longer clear out
- the npc_id if there's no events waiting to be executed (why does it clears
- the npc_id anyway?) [Skotlex]
- * Because of possible conflicts with this change and the on-login script,
- now the on-login script is executed when the player has finished loading
- into their start-up map rather than as soon as receiving the registry
- variables from the char-server. [Skotlex]
- * Some cleaning of the pc_eventtimer and pc enqueue code, it should fix
- some memory leaks when the event counter does not matches with the actual
- number of queued timers during logout. [Skotlex]
- * Fixed "skill_sp_override_grffile: yes" causing crashes when parsing
- Homuncuus/Guild skills. [Skotlex]
- * Made the exp bonus settings be adjustable: [Skotlex]
- - exp_bonus_attacker: Indicates how much additional exp a mob gives per
- additional attacker (eg: 10 -> +10%*attacker)
- - exp_bonus_max_attacker: Indicates at which number of attackers the bonus
- is capped (eg: 5 -> 5 attackers, so a mob yield the same exp whether 5 or
- 10 people attack it)
- - Changed the way the party_even_share_bonus setting works. It now uses a
- simple linear bonus increase (eg: 10 -> +10%*party member)
- - The defaults are as explained by Tharis: +25%/attacker, capped at 12
- attackers, no party bonus. The first two can be found in exp.conf, the last
- one was left in party.conf
- * MG_STONECURSE and NPC_PETRIFYATTACK now use time1 to specify the
- "petrifying time". This value has been set to 5 seconds. [Skotlex]
- * Now when SC_STONE is triggered from status-change cards, it's petrifying
- duration will be passed as 0, causing the minimum (1 sec) to be used.
- [Skotlex]
- * Got rid of clones in src: old Novice Grounds map -> new_zone0? [Lupus]
- 2006/10/24
- * Removed again your mdef reducing "petrifying" time as apparently it can't
- be reduced by mdef. [Skotlex]
- * Cleaned up the "show_steal_in_party" setting so it only takes effect when
- the item was successfully stolen (there was no point in telling you the
- item couldn't be stolen due to being overweight) [Skotlex]
- * Cleaned up the pc_steal_item implementation (again). It now uses a more
- random, simple approach in each steal attempt. [Skotlex]
- * Changed the way the skill_steal_max_tries work. Now it actually MEANS the
- max number of steal tries, use 0 to disable (unlimited tries). [Skotlex]
- 2006/10/23
- * Added a bunch of important indexes when dealing with the log tables.
- Added upgrade_svn9050.sql which adds these indexes as well. [Skotlex]
- * Expanded the family check to work as it should, exp-share-range is
- respected, and the child is not considered for it (thanks to TheUltraMage
- for the investigation) [Skotlex]
- * Double Casting will no longer fail when used. [Skotlex]
- * Modified SC_STONE so that the duration of the "petrifying" time is 5 secs
- reduced by your natural resistance to petrify (which is mdef%) [Skotlex]
- * Modified the meaning of the third column in the skill_require_db. Instead
- of MaxHP, this is now called MaxHPTrigger. This column (which was
- previously unused by all skills) signals the limit HP% that you can have to
- be able to use the skill. For example, setting it to 20 means the skill is
- unusable if you have more than 20% life (note that this is merely a
- threshold setting, it won't actually substract HP when used!) [Skotlex]
- * Adjusted LK_BERSERK so you can only use it when you have 20% or less
- life. [Skotlex]
- * Removed NJ_TOBIDOUGU adding damage to W_HUUMA weapons which somehow got
- readded. [Skotlex]
- * When nonplayers use Cloaking, it will be forced to level 10 since mobs
- shouldn't have movement/attack restrictions while walking cloaked.
- [Skotlex]
- 2006/10/20
- * Made HAMI_CASTLE use clif_slide rather than clif_fixpos. This should
- fix clientside problems when castling between two positions the (client)
- path finding can't find a walkable bath between anymore. [blackhole89]
- * Fixed the Homunc not spawning next to you after receiving it's data from
- the char-server. [Skotlex]
- * Fixed Charge Atk being able to go through chasm/pits. [Skotlex]
- * Moved the homunculus DB information from the player structure to the
- homun structure. Modified the homunculus creation packets to hold this
- information during creation, also, all initial values are handled by the
- map-server, the char server only assigns it a homun ID. [Skotlex]
- WARNING: This is yet untested! It's very possible something could had
- broken after changing the format/size of the homunc creation packets.
- * Added config setting "summon_flora_setting", which it you can decide now
- two things: a. Whether or not players can harm your floras outside versus
- grounds, and b. Whether or not you can summon out and mix different types
- of plants at the same time. [Skotlex]
- * Likely fixed pc_steal_item always failing to steal (it was attempting to
- steal random item IDs...) [Skotlex]
- * Cleaned up a bit the mob on-death event so that when the killer is a
- homunculus, it's master will be taken. Also, the variable killerrid will be
- set before running the script to specify who delivered the final blow. If
- the killerrid matches with the script attached player, you can be sure your
- player did the final blow to the mob, otherwise, the attached player is who
- did the most damage to the mob. [Skotlex]
- 2006/10/19
- * Cleaned up the log.c file. [Skotlex]
- * Fixed log_chat not recording anything if the server is compiled in SQL
- mode and sql_logs is turned off (it should then record to a plain txt file)
- [Skotlex]
- * Fixed SG_FRIEND, it should be triggering when Monks do Combo Finish (not
- triple blows), and the trigger rate increase should be based on your known
- level of SG_FRIEND, not TK_COUNTER. [Skotlex]
- * Phantasmic arrow now knockbacks even if it misses. [Skotlex]
- * Adjusted the way Monk combo times work. The combo time is now always
- 300ms (adjusted by combo_delay_rate) which takes effect inmediately AFTER
- your current skill's canact-delay (which is why the particular skill delays
- were moved to skillcast_db) [Skotlex]
- * Modified skill_delayfix so it performs the can-act reduction from agi/dex
- for combos there. [Skotlex]
- * Modified pc_steal_item so that it behaves more closely to the way it does
- on Aegis. [Skotlex]
- 2006/10/18
- * Added a overflow check when calculating party exp share. [Skotlex]
- 2006/10/16
- * Adjusted UTSUSEMI/BUNSINJYUTSU so that they block range/melee weapon
- attacks and only melee misc attacks. This isn't 100% correct, but it's a
- better approximation to the way these skills behave. [Skotlex]
- * Emergency call &16 (disable skill from nowarpto maps) will now NOT block
- Emergency Call if that map is also a gvg-castle map. Makes it safe to turn
- on this option to prevent usage from special maps (like Lhz3) without
- crippling the skill during WoE. [Skotlex]
- * Applied most of Mpeg's work on Ninja Skills. For information see:
- http://gpegon.free.fr/ea/ninja_10-15-06_mpeg.txt [Skotlex]
- * When reinvoking a combo-time, the previous combo time will be terminated.
- This could fix the ongoing difficulties pulling off Monk combos. [Skotlex]
- * Fixed Esma-state not ending after casting it. [Skotlex]
- * Fixed @hominfo displaying intimacy on a 1/10k scale. [Skotlex]
- 2006/10/14
- * Homun info window to show crit value. As default, homun does NOT crit,
- as monsters do not crit. This is purely for display purpose for players
- to identify their homon's luk value. [Vicious]
- 2006/10/13
- * Base attack for non players is now calculated as str + [str/10]^2 (it
- does not has +dex/5+luk/5 which players do have) [Skotlex]
- * Fixed the char-sql server trying to read the gms off a "gm_db" config
- setting stead of "login_db" [Skotlex]
- * Corrected Throw Arrow/Musical Strike's damage formula [Skotlex]
- * Altered Trick Dead. It doesn't prevents skills from being casted on you
- now, but damage-based skills will do no damage. [Skotlex]
- * Made the battle_config.attack_attr_none apply to pets when using the
- "fixed damage" pet skill scripts. [Skotlex]
- 2006/10/12
- * made @killmonster make the mobs drop items again. [Skotlex]
- * Added a temporary message when Angel of the Sun, Moon and Stars trigger
- so you know it triggered. [Skotlex]
- * When slaves_inherit_speed is set (which is also the default), homun will
- have the same speed of their master when spawned. [Skotlex]
- * When using Hatred and you already have a hate target, your current hate
- target is displayed now. [Skotlex]
- 2006/10/11
- * Cleaned up the char-server code when the last point of a player is not
- found. First it'll check if there's any mapserver online, and then, if
- there is, it'll look for the major cities. If this fails, then the player
- will be told server is closed instead of trying to send him to a "random
- map". Will fix the char-server printing the misleading message "map
- server not found, sending to major city" when in reality there just
- aren't any map servers connected. [Skotlex]
- * Corrected the mob damagelog structure so that you can't exploit it by
- switching characters. [Skotlex]
- 2006/10/09
- * Fixed crash when char-server sends to a "random" map-server online on
- connect. Thanks to TheUltraMage for pointing it out. [Skotlex]
- * Should have fixed being petrified not reducing your defense and
- increaseing your mdef. [Skotlex]
- * Fixed SC_NOCHAT printing the "skills are now available" message twice on
- natural expiration. [Skotlex]
- 2006/10/08
- * Updated sql files [Playtester]
- 2006/10/06
- * Updated Land Protector to block absolutely every land-based skills with
- the exception of Encores/Dances. [Skotlex]
- * Disabling status abnormalities will now reset a mob's target. [Skotlex]
- * Mob morphing also resets their target now. [Skotlex]
- * Monk combos no longer can ignore skill delay (delay skill for all their
- combo-related skills is ASPD) [Skotlex]
- * Now you can trade while in a chatroom. [Skotlex]
- * Fixed homun-txt reading when the file has DOS line-type delimiters (\r\n)
- [Skotlex]
- 2006/10/05
- * skill_blown will now trigger on-touch npcs on the landing tile. [Skotlex]
- * Max trade distance has been reduced from 5 to 2. [Skotlex]
- * Undisguising will now resend the cart-contents. [Skotlex]
- * Added function npc_unload_duplicates(), it unloads all npcs that are a
- duplicate of the passed one. For use with @unloadnpc to prevent crashes
- when you unload the npc that has duplicates. [Skotlex]
- 2006/10/04
- * Bowling bash now always hits twice regardless of situation. [Skotlex]
- * Added an underflow check to prevent sending to the client negative mdef2
- value (for Frenzy'ed characters) [Skotlex]
- * Modified pc_jobchange so that it automatically removes
- peco/falcon/cart/homun if the new job you are changing to does not possess
- the required skill for them. [Skotlex]
- 2006/10/03
- * Fixed a possible crash with @reloadmobdb due to pet loot timers.
- [Skotlex]
- * Fixed a possible crash and a memory leak on the login-SQL server when
- parsing unban requests. [Skotlex]
- * Renamed setting delay_dependon_dex to delay_dependon_agi, the delay of
- skills is reduced now (when enabled) by AGI instead of DEX, which makes a
- lot more sense than DEX. [Skotlex]
- 2006/10/02
- * Modified item-granded status resistance reduction to behave as explained
- by Vicious (Ragnarok Monthly magazine) [Skotlex]
- * Added the opt3 values to Eske [Skotlex]
- * Fixed the txt->sql converter only saving the very first character
- permanent variable. [Skotlex]
- * Fixed the txt->sql converter saving account-wide variables as
- character-wide ones. [Skotlex]
- * Renamed nopenalty mapflag to noexppenalty. Using nopenalty will turn
- on/off both noexppenalty and nozenypenalty now. [Skotlex]
- 2006/10/01
- * Removed the speed adjustment per level of Increase/Decrease Agility
- [Skotlex]
- * Fixed humunculi skill exploit, thanks to mr.rkit [Lupus]
- 2006/09/30
- * Rewrote the txt->sql converter. It now links directly to the char server
- files so that it should get auto-updated with any code changes in the
- later. [Skotlex]
- * The converter will now also convert: account-wide variables, parties,
- guilds, guild storage and guild castles. At this point the only two things
- not converted are login-server-wide account variables (##, they belong to
- the login converter) and homunculus (the SQL save function is messy and
- doesn't lends itself to be integrated with the converter the way all the
- other functions are). [Skotlex]
- * misceffect2 will no longer cause the effect on top of the source object
- when it is the fake npc. [Skotlex]
- * Added check so that Frost Nova doesn't hides hitting animation on
- targets. [Skotlex]
- * Added the missing brackets around the trade logs condition check, thanks
- to Coltaro. [Skotlex]
- 2006/09/29
- * Spurt state will now trigger on Soul Linkers as well. [Skotlex]
- * Added a check un unit_run when unit_walktoxy fails. Should fix running
- getting you stuck sometimes when running on diagonals near obstacles.
- [Skotlex]
- 2006/09/28
- * Merged the necessary changes to make the script engine support negative
- constants (db/const.txt). Thanks to Rayce (from jA) for the code. [Skotlex]
- * Cleaned up the skill.c code to take into account when skill_unitsetting
- returns null (skill failed), fixes a possible crash with Wand of Hermode
- [Skotlex]
- 2006/09/27
- * Cleaned up status_get_party/guild_id, it should also fix a possible crash
- when invoking such a functio on a masterless pet. [Skotlex]
- * Sharp-Shooting will now display a skill animation. [Skotlex]
- * The no_spawn_on_player setting will now also work for static mobs, but
- only if the setting is set to 100 or higher. [Skotlex]
- 2006/09/26
- * Yet again messed with the packet sent during a splash attack, but this
- time taking into account the packets that eA was using some many revisions
- ago. Tests are needed to see if Magnum Break/Grimtooth don't spam the skill
- animation anymore, and to see if GrandCross didn't break it's animation as
- well. [Skotlex]
- * Added function skill_dance_switch which handles converting overlapping
- song/dances to dissonance/ugly dance. It should make the overlapping area
- now behave completely like the mentioned song/dances (taking into account
- interval and target type changes). [Skotlex]
- * Updated battle_check_target so that non-offensive skills cannot be used
- on a homun except for the homun and it's master. [Skotlex]
- * Steal zeny won't work on treasure chests now. [Skotlex]
- 2006/09/25
- * Added an ugly check so that Heal will display 0 when healing a berserked
- character (and it will again display full heal amount when healing a player
- who's at full life) [Skotlex]
- * Disabled again client-self-muting since it's causing too much trouble.
- [Skotlex]
- * Merged FlavioJS's script patch which should fix stuff like "mes ();"
- causing crashes. [Skotlex]
- * Item group reading will now complain when a line doesn't has enough
- fields. [Skotlex]
- * Fixed #baselevelup adding instead of substracting status points when used
- with negative levels. Also made it reset your stats if there wasn't enough
- to substract from. [Skotlex]
- * Applied FlavioJS's suggestion of expanding WFIFOPOS to also take the
- direction. This had the side effect of fixing the direction missing from
- the mob spawn packet, which explains why all npcs face north when you are
- within sight while doing a @reloadscript. [Skotlex]
- * Changed the order of packets in TK_HIGHJUMP, may fix the reports of
- getting stuck when jumping into a warp. [Skotlex]
- * Changed a bit the code of marionette control, where a redefined local
- variable may be the cause of mob-targetted Marionette Control stacking
- stats up. [Skotlex]
- 2006/09/24
- * When the code auto-guesses that a skill should require ammo, it will
- accept any type of ammo for using it instead of only arrows. Fixes Magnum
- Break usage on Gunslingers. [Skotlex]
- 2006/09/22
- * Probably fixed a signed/unsigned mismatch warning on the new socket code.
- [Skotlex]
- * Fixed the "map server claims to have char online, but this other map
- server also has it tagged as online" message triggering in some cases where
- it shouldn't. [Skotlex]
- * Fixed some maps in db/mapindex.txt being under the wrong id and added comments
- so this will not happen again. [Zephiris]
- --- ATTENTION! ---
- People running TXT servers will have to tell their players to redo their /memo
- points since the map ids of the old file were wrong.
- 2006/09/21
- * Fixed a bug on "select" when skipping empty entries when the selected
- entry is the last. [Skotlex]
- * Improved a bit RFIFOFLUSH as suggested by Harbin. [Skotlex]
- 2006/09/20
- * A mob's HP is set temporarily to 0 before invoking it's on-death script,
- prevents said scripts being able to "rekill" the mob indefinitely (if stuff
- like killmonster is used within) [Skotlex]
- * Some small cleanups in chat.c [Skotlex]
- * Fixed party_sub_count (TK_POWER) failing when the idle_no_share setting
- was disabled. [Skotlex]
- * Enabled Star Gladiators and Soul Linkers to do /doridori [Skotlex]
- 2006/09/19
- * Fixed nocommand mapflag causing the "you can't use commands on this map"
- message to trigger one very single chat, instead of only for actual @/#
- command invocation. [Skotlex]
- * Added support for skipping empty string menu entries for the select()
- command (just as `menu` has it already) [Skotlex]
- * Fixed pc_set_hate_mob letting you place mobs on any of the three
- positions regardless of size [Skotlex]
- * The double continuation error will now display both scripts that
- triggered it. [Skotlex]
- * Loading the storage from the char-server will fail if player is already
- tagged in final save state. [Skotlex]
- * Removed setting ban_spoof_namer, sending invalid global-talk packets will
- now just kick the player out of the server. [Skotlex]
- * Added echoing messages back to self when using @/# commands on whispers
- and party/guild messages, to prevent the client from muting yourself.
- [Skotlex]
- * Fixed some gcc4 warnings [Toms]
- 2006/09/18
- * Fixed Spider Web fire damage bonus. [Skotlex]
- * Made Global chat always reply back to you even on @/# commands, this
- prevents the client from muting yourself due to "hack". However, this same
- fix isn't easily applicable to @ commands invoked from whispers or
- party/guild messages, those are still pending. [Skotlex]
- * Merged Meruru's update to socket.c, which includes a rewritten parse
- function, which should hopefully be more efficient than the previous code.
- [Skotlex]
- * The new code includes support for two config settings
- (packet_athena.txt): frame_size, which can be used to alter the logic
- packet-size allowed by the code, and mode_neg, which when set to yes, sets
- TCP_NODELAY on all connections (defaults to yes). [Skotlex]
- * High-Jump is usable everywhere now, except that on maps where it
- previously failed, now will just make you jump in place. [Skotlex]
- * Fixed TK_RUN as per packets provided by AuronX. [Skotlex]
- * Moved the equipment/card resistances to status ailments outside of
- status_get_sc_def, so that they are applied only to rate, not duration.
- [Skotlex]
- * Modified the Asura code (again), hopefully movement sprite issues are
- fixed now [Skotlex]
- * @reloadscript scripts will no longer eliminate mobs with no respawn data.
- But watch out for possible bugs (I think someone mentioned 1 extra
- treasure box will spawn when you use it? This needs testing!) [Skotlex]
- * Made speed_add_rate a linearly stacking increase. [Skotlex]
- * Corrected a possible overflow when using show_mob_info to display the
- mob's up as a percent. [Skotlex]
- * Corrected the documentation for checkoption/checkoption1/checkoption2
- [Skotlex]
- * Reenabled client requesting to self mute, as the whole knockback packet
- issues of the past which were causing players to mute themselves when being
- knockback is no longer there. [Skotlex]
- 2006/09/17
- * Fixed NPC_INVISIBLE's cloak ending after attacking once. [Skotlex]
- * Fixed SG_FUSION being castable without Soul Link state. [Skotlex]
- * Moved the item-use restriction SC checks from clif.c to pc_use_item,
- fixed Gravitation blocking potion usage on it's area of effect. [Skotlex]
- * Sphere Marines and Summoned Flora are now immune to class-changing.
- [Skotlex]
- 2006/09/16
- * Added monster_ai&256. When set, a monster will pick a random starting
- position to begin checking versus it's skills, otherwise, it will always
- begin checking from the beginning. [Skotlex]
- * Fixed the status change duration reduction equation was was totally
- wrong, thanks to k3dt [Skotlex]
- 2006/09/15
- * Now mobs won't do a distance check to lose their target on every ai
- iteration, but only when they finish walking (unless you set monster_ai&1)
- [Skotlex]
- * The chase distance before a mob gives up following a player has been
- increased from view-size (range2) to min-chase (range3). [Skotlex]
- * Reverted the Summon Flora change where all plants were being summoned in
- one go. [Skotlex]
- * Moved the weapon repair effect to where it belongs (after successfully
- repairing an item) [Skotlex]
- * Added config setting "friend_auto_add" (battle/player.conf), if set, when
- you accept someone as your friend, both characters will show up on each
- other's friend list. [Skotlex]
- 2006/09/14
- * Changed Extremity Fist's code to make you actually walk past your target,
- which displays a much more correct "animation" for the skill. Thanks to
- HiddenDragon for the information and code. [Skotlex]
- * Updated the item_db search functions so that when returning the
- dummy-item, it first updates the nameid to match the requested one, this
- prevents pc_additem later on giving you an item with ID 500 instead of the
- ID requested. [Skotlex]
- * Added a clif_skill_nodamage packet when using Repair Weapon, just to see
- what happens. [Skotlex]
- * Likely fixed "half" of the alliance being saved, which ends up in guilds
- that can attack another, but not viceversa. [Skotlex]
- * Added deleting of saved Status changes on character delete for the
- Char-TXT server. [Skotlex]
- * Fixed the can-act delay never being checked when requesting to use
- Homunculus Skills. [Skotlex]
- * Fixed warmth skills draining SP of the target, not the caster. [Skotlex]
- * When TK_DODGE triggers, it will no longer delay your attack or movement.
- [Skotlex]
- * Estimation /Sense/ whatever will no longer hide the vit bonus to mdef2,
- as reported by Playtester. [Skotlex]
- * Updated Summon Flora to summon the max number of possible plants on one
- cast. It will consume as many bottles as monsters summoned. Also cleaned up
- the function to be usable by non players. [Skotlex]
- * Shadow Jump no longer goes over walls. [Skotlex]
- * battle_calc_gvg_damage will be invoked in gvg maps regardless of woe
- time. [Skotlex]
- * NPC_MENTALBREAKER now zaps matk*lv SP based on observations by Tharis.
- [Skotlex]
- * md->class_ will be changed on mob-class-change to fix all class-change
- related bugs. On respawn, the spawn data will be used to revert to the
- original class. [Skotlex]
- * Improved the pet skillbonus timer for "eternal bonuses" cases where the
- bonus delay is 0. [Skotlex]
- 2006/09/13
- * SC_CHANGE cannot override itself anymore. This fixes being able to
- "recast" the skill while it's still active to lengthen the duration AND
- reheal the target. [Skotlex]
- * Changed a bit the dnsbl lookup in the login servers to make it faster.
- [Skotlex]
- * Moved the pc rate modifiers from items
- (hp/sp/matk/hit/flee/cri/flee2/def2/mdef2/def/def2/speed) from
- status_calc_bl_sub_pc to status_calc_pc, as it simplifies code vastly, and
- also fixes Osiris card not applying to said bonuses. [Skotlex]
- * Fixed pc_damage_delay_rate not working, thanks to Orn. [Skotlex]
- * Modified the nocommand mapflag so you can specify the GM range that is
- blocked from using commands (eg: "prontera.gat mapflag nocommand 40"
- disables commands to characters in the GM range 0~39) [Skotlex]
- * Modified the char-server TXT whisper system to use the online_db to know
- to which map server forward whispers, instead of just sending the whisper
- to every map server. [Skotlex]
- * Readded the setting TCP_NODELAY on socket.c to see if it fixes the
- walk-lag issue. [Skotlex]
- 2006/09/12
- * Modified the login SQL server so that case insensitive lookups use "where
- name = BINARY 'name'" instead of "where BINARY name = 'name'", since this
- way the name index should be used, and performance will no longer be
- heavily affected. [Skotlex]
- * Modified main.sql to add 4 missing indexes (thanks to ErkDog): char_id on
- the tables memo/friends, and online/name on the char table. Added
- upgrade_svn8728.sql to add these indexes to already existing tables.
- [Skotlex]
- * Updated convert_engine.sql to use TYPE instead of ENGINE to be compatible
- with Mysql 4 installations. [Skotlex]
- * Moved the morph restrictions from skill_additional_effect to
- mob_class_change, so that SA_MONOCELL will not convert clones, emperium, or
- treasure boxes. [Skotlex]
- * Fixed 'range' might be used uninitialized warning [Toms]
- * Added Jaguar's sql script to convert all tables to MyISAM. It's located
- in sql-files/convert_engine.sql WARNING: Using MyISAM is much faster than
- InnoDB, but you are strongly recommended to backup your database before
- switching engines since we don't know if eA is fully coded to work
- correctly with MyISAM yet. [Skotlex]
- * Added manual deletion of sc_data entries when deleting a character
- (char-SQL) [Skotlex]
- * Updated main.sql to use pure MyISAM tables, removed all foreign keys.
- [Skotlex]
- * Updated battle_switch to use strncmpi instead of strcmpi, it makes it so
- using "yessir" will match "yes", this is actually needed because if you set
- a config setting to "yes " (notice the trailing space), then the map config
- engine fails to read it right, and will set the config setting to 0 (no).
- [Skotlex]
- * Some corrections to hate_mob cleanup when triggering the Angel stuff. [Skotlex]
- * Updated the show_mob_info setting to add another space to the separating
- pipes, so that each field is separated by " | " instead of " |". [Skotlex]
- * Homunculus intimacy will go back to 500 on evolution. [Skotlex]
- * Baphomet splash damage will now hit nearby enemies regardless of flee
- (but the initial attack still has to connect for the splash to trigger)
- [Skotlex]
- 2006/09/11
- * Modified set_nonblocking and setsocketoptions in socket.c, using eApp's
- code as reference. Hopefully should improve performance somewhat. [Skotlex]
- * Added a comment explaining what a comment is to login/char/map config
- files, as well as the main script config file. [Skotlex]
- * Modified SG_FEEL so that it works the same way that in Aegis
- (packet-wise) [Skotlex]
- * Added a comment to explain how to "remove" a string variable from the
- msg_athena entries. [Skotlex]
- * Summoned and slave mobs won't show up on @showmobs anymore. [Skotlex]
- * Moved Spider Web damage bonus from battle_calc_damage to battle_attr_fix,
- so that damage will be doubled based on the actual attack element.
- [Skotlex]
- * Adjusted autospell cards to trigger only on physical weapon attacks.
- [Skotlex]
- * Adjusted a bit the heal code, it should now show either the full heal
- amount, or 0, depending on whether the target was healed at all or not
- (this also means it shows 0 if you try to heal a full-life character.. but
- it's the closest I've gotten to make it display 0 on Berserked chars)
- [Skotlex]
- * Memorize will be consumed even on instant cast spells now. [Skotlex]
- * Berserk will end now if hit and remaining hp is less or equal to 100.
- [Skotlex]
- * Guild Aura will be removed on sc-load to prevent Guild Masters from
- getting that bonus from the old implementation. [Skotlex]
- * Added D-Kalck's fix of the TXT -> SQL converter [Playtester]
- 2006/09/10
- * Thanks to KarLaeda, added missing function in @showmobs [Lupus]
- - Script function 'query_sql': In the TXT version it doesn't fill the array
- and always return -1. Added for scripts compatibility. Your scripts
- won't crash in TXT version. They can work it around.
- I suggest we need a function getversion()
- * Updated item_db.sql and mob_db.sql [Playtester]
- 2006/09/09
- * Added a crash protection in case mapfreeblock unlock tries to free a null
- pointer. [Skotlex]
- * Moved perfect_hiding from state to special_state, so that it clears out
- when you remove your pet. [Skotlex]
- * Probably fixed the Taekwon Rest skills. [Skotlex]
- * Fixed a npc-timer memory leak on npc_unload ("[Warning]: ers_obj_destroy:
- X entries missing, continuing destruction. Manager for entries of size
- 16.") [Skotlex]
- 2006/09/08
- * Unified the rest and ganster paradise code into a single function.
- [Skotlex]
- * Moved the Happy State trigger to the regen function, it now triggers at
- the same time SPTIME does. [Skotlex]
- * Cleaned up SG_HATE, hope it works now. [Skotlex]
- * Removed sg_miracle_skill_duration, replaced it with
- sg_miracle_skill_min_duration and sg_miracle_skill_max_duration, to specify
- a range for the duration of the skill. [Skotlex]
- * Added upgrade_svn8675.sql in case, for some reason, your guild table
- still has the emblem_data field as a 'blob' with "NOT NULL" specified.
- [Skotlex]
- * Fixed alliance/opposition making not cancelling out map-server-side when
- the guild already had max number of alliances/oppositions (thanks to k3dt)
- [Skotlex]
- 2006/09/07
- * Fixed SC_BERSERK setting Hp to 100 when dispelled by unnatural means (eg:
- wand of hermod) [Skotlex]
- * Cleaned up the doridori parse clif function. [Skotlex]
- * Merged some of mpeg's work on NJ skills [Skotlex]
- * Removed the Warmth "stacking" code. [Skotlex]
- * Added back the effect of /doridori to skill-SP regen [Skotlex]
- * Implemented a rough version of Angel of the Sun/Moon/Stars, it has a low
- chance of triggering on doridori-boosted SP-regen events. However, it has
- no client-side messages yet (need to add these in) [Skotlex]
- * Added sg_angel_skill_ratio to specify rate at which the Angel skill
- triggers. [Skotlex]
- * Added unit_cancel_combo which takes care of ending a combo time and
- resuming normal attack 'inmediately' [Skotlex]
- * Cleaned up some the SG_HATE code, you can't change hate targets anymore.
- [Skotlex]
- 2006/09/06
- * Fixed the memset in status_calc_pc, corrects some mysterious bugs such as
- item-drop bonuses suddenly not working anymore. [Skotlex]
- * Corrected SC_INCREASEAGI and SC_DECREASEAGI speed-change formula.
- [Skotlex]
- * Fixed Aex Aeterna ending on Soul Breaker's first half. [Skotlex]
- * Applied Orn's modification on speed increases/reductions with increase/
- decrease agi [Toms]
- 2006/09/05
- * Removed setting mob_show_hp, it's been replaced now by mob_show_info,
- which can be used to specify what kind of info should be displayed from a
- mob. Current options are two different formats for Hp display, and current
- level (monster.conf). [Skotlex]
- * Fixed Signum Crucis Def reduction being 10+2*lv% instead of 10+4*lv%
- [Skotlex]
- * Applied the Ultra Mage's suggestion to have the map server strip trailing
- spaces/comments from the config files. It will also now print out when an
- unknown config setting is found. [Skotlex]
- * Fixed status change resistance not being invoked at all for pretty much
- all cases. [Skotlex]
- * Corrected SC_INTRAVISION not starting. [Skotlex]
- * Fixed crash when attempting to read a Label as a string on a script
- (thanks to End of Exam) [Skotlex]
- * Fixed possible crash when changing a chat-room's owner (thanks to End of
- Exam) [Skotlex]
- * Fixed dispell removing SC_NOCHAT [Skotlex]
- * Small fix which should correct skill_attack damaging hidden characters
- when it shouldn't. [Skotlex]
- * Fixed connect_until field being a smallint rather than int in the login
- table (upgrade with upgrade_svn8630.sql) [Skotlex]
- 2006/09/04
- * Fixed crash when using Adaptation during an Encore. [Skotlex]
- * Should have fixed manner being reset to 0 on logout while muted.
- [Skotlex]
- * Removed status_get_sc_tick, duration and chance are now both handled by
- status_get_sc_def (this means status change duration and success rate
- both will always follow the very same formula) [Skotlex]
- * Fixed mob-kill experience getting screwed up when characters who did
- damage die/logout at the moment the mob dies. [Skotlex]
- * Should have fixed "sleep", thanks to Lance for figuring out the error.
- [Skotlex]
- * SC_REFLECTSHIELD will now be passed to devoted characters at cast-time.
- [Skotlex]
- * Added a check to make a mob's level 1 if the read level from the db is
- less than it. [Skotlex]
- * status_calc_misc will now be invoked in status_calc_bl even on the first
- call, since status could have gone up due to skill bonuses. [Skotlex]
- * Moved max HP/SP calculations to before invoking status_calc_misc
- [Skotlex]
- * Simplified distance and check_distance to use "aegis" methods (greater of
- dx/dy = distance), there's a new define in map.h called CIRCULAR_AREA, when
- set, the previous method is used, and "for each in range" calls will also
- check for distances, making most ground skills and battle system use real
- circles instead of squares. [Skotlex]
- 2006/09/03
- * Fixed SC_BERSERK's no regen penalty lasting pretty much forever.
- [Skotlex]
- 2006/09/02
- * SC_REGENERATION's val4 now holds the RGN flag of what is blocked rather
- than blocking all types of regen. [Skotlex]
- * LK_BERSERK will now only block natural regen on state-end. [Skotlex]
- * SC_EXTREMITYFIST/SC_DANCING/SC_EXPLOSIONSPIRITS will only block natural
- sp regen and not skill regen [Skotlex]
- * SC_REGENERATION blocking will be cancelled on logout now. [Skotlex]
- * Corrected SCB_LUK not updating SCB_BATK as well. [Skotlex]
- 2006/09/01
- * Corrected script_commands description of getequipid, it returns -1, not 0
- on fail. [Skotlex]
- * Fixed the mob-id check during pet_db loading, it will also now print when
- a pet is not loaded due to having an invalid mob class specified. [Skotlex]
- * The "delete_timer error/no such timer" report will now print the related function [Toms]
- * The Clearing unused stack report will now print the related NPC [Toms]
- * The duplicate npc report will now print the related file name [Toms]
- * Added config setting "partial_name_scan", which specifies whether @ given
- names should use a partial string lookup or absolute name lookup. Defaults
- to no (gm.conf) [Skotlex]
- * Expanded status_calc_misc so it may also calculate the batk of characters
- as well as their regen data (if they have it) [Skotlex]
- * Fixed a memory leak when using charsave_method:1 [Skotlex]
- * Soul Breaker will now be affected by Lex Aeterna on both parts of the
- attack. [Skotlex]
- * Status changes with no skill and no SCB* data will now go through if they
- have an SI* icon. This should fix SC_MIRACLE [Skotlex]
- * Reverted switching a mob's adelay/amotion when the later is longer than
- the former, now both get updated to amotion. [Skotlex]
- 2006/08/31
- * Moved the intimacy penalty of HFLI_SBR44 and HVAN_EXPLOSION to
- skill_counter_additional_effect [Skotlex]
- * Simplified skillnotok_hom by using an invocation to skillnotok [Skotlex]
- * Hopefully fixed BD_ADAPTATION [Skotlex]
- * Homun won't lose any intimacy on death now. [Skotlex]
- * Homun will be saved together with the master now (as long as the homun is
- active) [Skotlex]
- * Modified the error reporting in map_freeblock_unlock so that when there's
- an error, the reported line number is the file's linenumber plus the
- object's type *10000. This is for debug information to help track down the
- already-freed error. [Skotlex]
- * pc_adopt will now preserve the kid's job/job-level/experience. This means
- that if you adopt a Swordman level 45, it will become a baby-swordman level
- 45, with the exact same exp as before. [Skotlex]
- * Fixed new mob's name not sent to the client when the mob is morphed [Toms]
- * Added setting attack_walk_delay which specifies whether a character
- should (or not) be able to move inmediately after starting a normal attack
- (battle.conf). Defaults to 0 since that's what Aegis uses. [Skotlex]
- * Fixed @summon's delete timer being screwed up. [Skotlex]
- * Cleaned up a bit the summon script command. [Skotlex]
- * Fixed the clone script command's delete-timer being screwed up. [Skotlex]
- 2006/08/30
- * Skill required-state will now only be checked on cast-begin, not
- cast-end. [Skotlex]
- * Added a check in status_calc_pc to prevent player rate adjustments from
- from going below 0. [Skotlex]
- * Removed sending normal-damage packets instead of skill packets for
- splash-damaged skills, since... well, that's how Aegis does it. [Skotlex]
- * Updated HLIF_CHANGE to work as explained by Tharis -> It now adds 30*lv
- vit and 20*lv int, is dispelled on warp, and can-act delay is 5+5*lv
- minutes. Hp/Sp is no longer set to 10 after a forced expiration. [Skotlex]
- * Fixed up char-sql compilation. [Skotlex]
- * Added a message to @clearweather stating when climate changes will
- dispel. [Skotlex]
- * Corrected @hidenpc saying that it's command name was "@npcoff" [Skotlex]
- * Updated itemdb reading on the char-sql server so that it reads both
- item_db and item_db2 files (totally untested yet) [Skotlex]
- 2006/08/29
- * Added printing out whenever the irc-module attempts to connect, to debug
- whether the map-server lag is due to this or not. [Skotlex]
- * Mobs will now always chase players using hard-path seeks. [Skotlex]
- * monster_ai&1 now only signals whether mobs should update their target
- cell while chasing more frequently (rather than being state-driven like
- Aegis) [Skotlex]
- * Changed the defaults of view_range_rate and chase_range_rate to 120 to
- aproximate better Aegis's view ranges (which are square areas and not
- circles) [Skotlex]
- * Applied Mpeg's work on GS [Toms]
- ( http://gpegon.free.fr/ea/gunslinger_08-29-06_mpeg.txt )
- * Fixed a syntax error in @showmobs [Toms]
- * Added @showmobs. It shows selected mobs on your mini-map (excluding
- mini-bosses & MVP) thanks to KarLaeda for the command [Lupus]
- 2006/08/28
- * Modified the dancing code and Moonlit Petals in particular, so that it is
- treated as an ensemble like any other, it will just knockback people when
- they step into it. [Skotlex]
- * The memory leak reports will now print out in the logs also the revision
- they belong to. [Skotlex]
- * Cleaned up the scriptable npc-shop code, it should be crash-proof now.
- [Skotlex]
- * Added TK level-up buffs to SG too, and extended them to 10 min [DracoRPG]
- * Added "Barefeet Mastery" effect to TK_RUN (thanks Tharis for both) [DracoRPG]
- * Changed the produce_db format, now there's a skill-lv column right after
- the skill-id column to specify required skill-level to craft this item.
- [Skotlex]
- * Modified the skill produce_db code to take into account the new skill-lv
- requirement. [Skotlex]
- * Fixed exp bonuses applying twice for the job-exp [Skotlex]
- * @reloadbattleconf will now also update the ragsrvinfo table on the
- char-server. [Skotlex]
- * Fixed homun hp/sp growth rates stacking with HP/SP passive increasing
- skills. [Skotlex]
- 2006/08/27
- * Fixed undefined reference to 'malloc_set' in log.c [Toms]
- * Updated svn-revision reading, now it can read the new svn file system [Toms]
- * Fixed a bug with homunc which could spawn on a non-walkable cell [Toms]
- 2006/08/26
- * Optional macro MEMSET_TURBO for faster low-level memory initializations. [Lance]
- * Small bug fix in read_homunculus_expdb (a warning was always displayed) [Toms]
- * Small adjustment on the mob_ai code which could fix mobs not chasing you
- if you hit them from the maximum possible diagonal distance. [Skotlex]
- 2006/08/25
- * Cleaned some the skill unit removal added flag so that it signals whether
- the skill is being force-removed, or it has "naturally expired". [Skotlex]
- * The following skills will display a normal attack animation now:
- NPC_WATERATTACK, NPC_GROUNDATTACK, NPC_FIREATTACK, NPC_WINDATTACK,
- NPC_POISONATTACK, NPC_HOLYATTACK, NPC_DARKNESSATTACK,
- NPC_TELEKINESISATTACK, NPC_SPLASHATTACK
- * Skills that require a weapon and consume spirit spheres will no longer be
- auto-tagged to require ammo. [Skotlex]
- * Now MISC skills with delay 0 will also use the attack delay (if the skill
- is tagged to do damage) [Skotlex]
- * Added script commands roclass/eaclass to enable scripts to access eA's
- job format. Read script_commands.txt and ea_job_system.txt for a more
- complete explanation of how this job system works. [Skotlex]
- * Added a flag to skill_delunitgroup, skill_delunit & skill_unit_onlimit.
- If 1 is passed, it will avoid UNT_WARP_ACTIVE to be transformed in
- UNT_WARP_WAITING and will destroy it. [Toms]
- ( To avoid such crash : http://www.eathena.ws/board/index.php?showtopic=114102
- when the code need an empty slot and the oldest one is UNT_WARP_ACTIVE )
- 2006/08/24
- * Little cleanup on homunc's code [Toms]
- * Modified @reloadmobdb & @reloadskilldb to reload homunc's db too [Toms]
- * Now when a mob's adelay is set to be less than the amotion, both values
- will be swapped (this is an attempt to understand how those mobs actually
- work on aegis) [Skotlex]
- * script command "isrefine" will no longer return always false for equip
- positions above 6 (this has not been needed since the addition of the
- refine column to tbe item_db many months ago) [Skotlex]
- * Added NPC_CRITICALSLASH to the list of skills that display as a normal
- attack. [Skotlex]
- * Reverted the previous change, changed the pet capture code to try to
- capture a mob based on their view class rather than actual class.
- [Skotlex]
- * Fixed the md->class_ variable not being updated when a mob's class is
- changed. [Skotlex]
- * Added setting clear_skills_on_warp to specify when a character's
- land-based skills are deleted when the caster changes maps. Defaults to all
- types. [Skotlex]
- * Should have fixed Brandish Spear not passing the flag to skill_attack,
- causing it to do miserable damage. [Skotlex]
- * Warp Portal will no longer be removed when caster steps through it (this
- is left to the new clear_skills_on_warp setting) [Skotlex]
- * Cleaned up status_percent_change to switch equations when the target has
- high hp to prevent overflows, also it will directly take hp/maxhp when a
- rate of 100 or higher is passed to prevent calculations. [Skotlex]
- * Traps and Land Elemental fields are no longer automatically removed on
- map change (handled now by clear_skills_on_warp) [Skotlex]
- * traps_setting &2 no longer does anything (handled now by blah blah)
- [Skotlex]
- * Applied some change from mpeg on Ninja Skills [Toms]
- * Put HVAN_Explosion based on max_hp instead of current hp [Toms]
- 2006/08/23
- * Fixed mob_clone_spawn completely ignoring the mode variable. [Skotlex]
- * Fixed Energy Coat reducing and consuming more than it should when you
- have 100% SP [Skotlex]
- * Cleaned up getmapxy script function, also added support for type 4 so
- that it returns a player's homunculus position if such exists. [Skotlex]
- * SC_ARMOR_ELEMENT looks like gone away from status_change_start since ... rev 6791.
- Try to reimplement it. [Toms]
- * Fixed HVAN_EXPLOSION [Skotlex]
- * Frost Nova won't display a nodamage skill packet (still need to sort out
- a way to fix the splash damaged packets) [Skotlex]
- * Fixed a possible SIGSEGV on buildin_maprespawnguildid if the map is unknown [Toms]
- * Added debug on "Inifity loop" to know which script is making this loop [Toms]
- 2006/08/22
- * More fixes to the splash code. Kamaitachi and Sharpshooting should
- display correctly now. [Skotlex]
- * Fixed a crash on the mobspawn script command. [Skotlex]
- * Made SC_FLEET increase batk as well as watk. [Skotlex]
- * Fixed gcc warning [Toms]
- * Fixed AM_REST not closing the homunc status window [Toms]
- * Fixed SC_NEN according to Mpeg [Toms]
- * Added a ShowStatus("Terminating...\n") on login-server_sql [Toms]
- * Some corrections to make Tatami Gaeshi work correctly. [Skotlex]
- * Fixed SBR44 doing 100% more damage than it should. [Skotlex]
- * Some more work on the splash skill code. Now splash-damaged enemies
- should show no animation at all, just the damage-number, while only the
- targetted character should still display the full skill animation.
- [Skotlex]
- * Modified the homun-txt file-save format to separate the name from the
- rest of fields with tabs (like character saving does), this may fix homun
- save/loading when using non-latin characters on the name, but be warned
- that it also means the previous homun-data files are lost! (unless you
- replace the comma before the start of a name with a tab) [Skotlex]
- * getnameditem will now also work on stackable items [Skotlex]
- * Corrected battle_calc_weapon_attack so that all skills ignore your
- left-hand weapon, and that the Katar's double-attack damage bonus for the
- offhand damage applies ONLY on normal attacks. [Skotlex]
- * Fixed Resurrect Homunculus's % to 20*lv% [Skotlex]
- * Added SQL update which should remove \' from guild names [Toms]
- * Added option to disable character deletion of certain levels [Lupus]
- check char_athena.conf for this option format
- 2006/08/21
- * Some more cleaning up of the splash skill code. Now the passed hit value
- for the splash targetted mobs is 9 instead of 5, this allows multi-hitting
- splash skills to display the number of hits correctly. [Skotlex]
- * Fixed call homunc bug when the homunc was vapo and the master has change
- of map [Toms]
- * Fixed SQL-Guild Creation, guild name was escaped 2 times [Toms]
- * Some cleaning of the splash skills. Updated skill-attack to enable again
- passing of flag 0xF000 which signals that the skill level sent to the
- client should be -1 (no skill name shouted). Should (hopefully) clear/clean
- up a bunch of splash damage skill animation-related packets. [Skotlex]
- * Homun saving won't cap hp/sp to max hp/sp since a homun can have higher
- hp/sp than the one stated in the db (due to skill bonuses or status
- changes) [Skotlex]
- * Cleaned up some more the regen_data structure, so that
- skill/sitting-skill related data is optional (since only players have it).
- [Skotlex]
- * Fixed AM_RESURRECTION, thanks to RockmanEXE for %HP values [Toms]
- * Fixed HAMI_CASTLE, HAMI_DEFENCE & HLIF_AVOID [Toms]
- * Adjusted Glittering's success rate to 20+10*lv% [Skotlex]
- * Corrected isequipped() so that cards will not be tagged as "used up"
- unless all the specified items were found. [Skotlex]
- * Fixed a confusion in skill_attack using the src instead of dsrc for some
- calls, which was causing some problems with the KAITE check from AoE
- spells. [Skotlex]
- * Fixed ASC_BREAKER's misc damage part not having the ignore-element flag
- set. [Skotlex]
- * Moved homunc battle conf from misc.conf to homunc.conf [Toms]
- * Some cleaning in skill.c in regard to homun skills. [Skotlex]
- * Madness Canceller now stacks with other aspd bonuses, just like Berserk
- does. [Skotlex]
- * Removed config setting "muting_players", and expanded the manner_system
- config to specify how having negative manner (mute) affects a player (see
- battle/misc.conf). [Skotlex]
- * Expanded the pk_mode setting from no/yes to 0/1/2. 1 is normal pk_mode,
- if 2 is used, it makes killing players give you a loss of 5 manner points.
- [Skotlex]
- * Fixed WS_WEAPONREFINE always failing when at less than job 50. [Skotlex]
- * Fixed the Autosave routine not working when there's only one player
- online. [Skotlex]
- * Disabled command @rain since the client no longer supports it anyway.
- [Skotlex]
- * Fixed delitem not checking for the first slot's card, also optimized it
- so that it doesn't checks on the other slots. [Skotlex]
- 2006/08/20
- * Added a check during mob_db loading so that the six basic stats, max hp
- and max sp are never below 1, as this could cause crashes when using
- certain skills. [Skotlex]
- * Gravitation now only blocks the caster from using potions. [Skotlex]
- * Corrected Madness Canceller letting you walk while the effect lasts.
- [Skotlex]
- * Splitted yet again ASC_BREAKER into a two-part attack. This time the
- int-based damage is a MISC type attack, and gets reduced by skills as such.
- [Skotlex]
- * Fixed "int format, long unsigned int arg" warning [Toms]
- * Fixed a warning when using cap_value(x, 0, x) on an unsigned value [Toms]
- * Added clif_skill_fail for homunc to skill_castend_id & skill_castend_pos [Toms]
- * Fixed homunc skill 8016 not considered as homunc skill [Toms]
- * @useskill will now cause your homun to use the skill instead of you if
- the skill is a Homun skill and you have an active homunculus. [Skotlex]
- * Reduced the Success Chance of GS_FLING to 10+10*lv% (Playtester told me
- that Vicious told him the chance was much lower like that) [Skotlex]
- * Fixed some Homunc issues with HR servers (capping some values) [Toms]
- * Added @hominfo command to obtain real values (not capped ones) [Toms]
- 2006/08/19
- * Fixed @homlvup bug [Toms]
- * Fixed AM_REST & AM_RESU consumming SP if they fail [Toms]
- * Fixed homunc spawning bug (they was spawned after an AM_REST + master warp for example)[Toms]
- * Fixed GS_GROUNDDRIFT [Skotlex]
- * Increased chance of GS_DESPERADO connecting to 20% [Skotlex]
- * Fixed battle_calc_base_damage being called for the left hand even for
- non-dual-wielding attacks. left-hand damage was being set to 0 later
- anyway, so no exploit existed. [Skotlex]
- * Moved the weapon_atk_rate bonus to battle_calc_base_damage so that it'll
- apply correctly when dual-wielding different types of weapons. [Skotlex]
- * Fixed job-mask 0x100000 in the item_db enabling Dancers/Bards to use the
- items (0x80000 should be for them and 0x100000 should be currently unused)
- [Skotlex]
- * Fixed a possible sigsegv when deleting lif under Mental Change [Toms]
- * Fixed HAMI_CASTLE [Toms]
- * Fixed HLIF_CHANGE [Toms]
- * Updated HLIF_BRAIN skill [Toms]
- * Fixed homunculus intimacy on feeding [Toms]
- * Added homunculus_friendly_rate battle config [Toms]
- * Some compilation warnings fixed [Toms]
- * Added skill's required item check on homunc skills [Toms]
- * Add Condensed Red Potion as a required item for HLIF_HEAL [Toms]
- 2006/08/18
- * Little code cleanup on last fix [Toms]
- * Fixed HLIF_HEAL healing the homunc instead of the master [Toms]
- * Fixed HLIF_AVOID not increasing walk speed of master [Toms]
- * Fixed the atk_rate (Turtle General Card) bonus not working on
- dual-wielders. [Skotlex]
- * Made HLIF_HEAL a self skill that auto-selects target to caster's master.
- [Skotlex]
- * Implemented SC_BLOODLUST and SC_CHANGE, cleaned up HLIF_CHANGE [Skotlex]
- * Applied a correction to HVAN_EXPLOSION [Skotlex]
- * Fixed Homun ASPD calculation being able to underflow and give you min
- speed. [Skotlex]
- * Added monster_ai&128 to make aggressive mobs ignore that behaviour of
- always picking Homun targets above player targets regardless of who is
- closer. [Skotlex]
- * Fixed homun info packet being unable to display HP/SP correctly once the
- values are above 32k. [Skotlex]
- * Applied Mpeg's work on ninja [Toms]
- * Fixed @homlvup [Toms]
- * Added guild_aura (skill.conf) setting so you can specify when it works
- and if it works on the guild-master itself. Defaults to working all the
- time on everyone except GM. [Skotlex]
- * Little code cleanup [Toms]
- * Cleaned merc_hom_evolution to avoid free'ing/realloc'ing [Toms]
- * Fixed "args of aFree is freed pointer" on Homunc deletion [Toms]
- * Changed unit_free so that it receives which cleartype should be used when
- the character is still on a map. Used this on status_damage so that mobs
- that do not respawn when killed will properly display the death animation.
- [Skotlex]
- * Fixed Energy Coat consuming 10x less SP per hit than it should.
- * Fixed signed/unsigned comparison issues with natural heal system [Toms]
- 2006/08/17
- * Vaporize will no fail when the homun is dead. [Skotlex]
- * Corrected thhe double free issue that occurs when a homun dies and has no
- intimacy left. [Skotlex]
- * Fixed the charsave_method:1 saving/loading exp as signed ints rather than
- unsigned. [Skotlex]
- * Applied use of structure regen_data for a unified regen module. Natural
- and skill-heal is handled by this structure, while sitting-skill-heal is
- still player dependant (mostly because the other object types can't sit)
- [Skotlex]
- * Cleaned up the status calc code for homun by moving it from
- status_calc_bl_sub_homun to status_calc_homun (where it should had always
- been) [Skotlex]
- * Updated SQL files [Playtester]
- * Corrected map_random_dir algorithm [Toms]
- * Fixed homunc natural heal and little code cleanup [Toms]
- * Changed AM_CALLHOMUN Skill to spawn the homunc at 1 cell from his master [Toms]
- 2006/08/16
- * Fixed being unable to recast Adrenaline Rush to reset the duration
- timers. [Skotlex]
- * Cleaned up skill_get_range2 so that using range 0 for non-self skills
- uses the caster's attack range. [Skotlex]
- * Fixed AM_CALLHOMUN checking for an embryo when you have a vaporized
- homun. [Skotlex]
- * Spirit of Wizard will now consume an item 7321 each time it blocks
- reflected magic. [Skotlex]
- * Added script command jobname, retrieves a given's class name as per the
- appropiate msg_athena.txt entry (this command should had been added years
- ago) [Skotlex]
- * Fixed null-pointer crash on Evolving a homunculus. [Skotlex]
- * @produce now can make any kind of equipment [Skotlex]
- * Made HLIF_AVOID and HAMI_DEFENCE cause the status change on both caster
- and target. [Skotlex]
- * AM_REST shouldn't be checking for a range now (since it's a self skill)
- [Skotlex]
- * Updated mob_ai so that mobs will use their rude-attacked skill when they
- can't reach their current target. [Skotlex]
- * Fixed the default txt config making pets be saved to the homun file
- instead of to the pet file. [Skotlex]
- * Now arrow-consuming skills where your main weapon is a whip or musical
- instrument WILL count as arrow-type attacks, using the atk of the arrow and
- all related bonuses. [Skotlex]
- * Fixed some homun timer initialization code. [Skotlex]
- 2006/08/15
- * Applied multiple fixes which should take care of making homun save/load
- work on TXT now. [Skotlex]
- * Added Gatling Fever's batk bonus. [Skotlex]
- * Some cleaning in status_damage which should prevent trying to free
- already free'd pointers when unit_remove_map invokes unit_free (when
- status_damage was going to invoke unit_free anyway) [Skotlex]
- * Delete homunc's skills from sql when the homunc is destroyed [Toms]
- * Homunc Timers should be disabled when the homunc is vaporized or dead an re-enabled on call/resu [Toms]
- * Updated vc-project files to compile with the new int_homun files.
- [Skotlex]
- * Hopefully fixed the crash when using charsave_method = 1 [Skotlex]
- * Moved s_pet structure from map_session_data to pet_data, this enabled the
- removal of a few redundant values in the pet_data structure (name, class,
- equip) [Skotlex]
- * Cleaned up some of the pet related @/# commands, same for some script
- commands. [Skotlex]
- * Pet offensive skills who's inf value is self will be casted on the pet
- now (for stuff like Grand Cross) [Skotlex]
- * Added homun saving/loading support to char-TXT. Note that this is
- completely untested, so it may be as good as broken. [Skotlex]
- * Added a crash-fix on status_calc_bl_sub_homun to abort in case the homun
- has no master (need to clean up this function later) [Skotlex]
- * Tested char-txt load/save, it seems to be working fine, but you should
- STILL backup, as I only launched the server (read old character format),
- closed it down (saved into the new format) and relaunch it (read the new
- format) and it didn't give problems (but there's still the possibility of
- some field being read in the incorrect offset or such). [Skotlex]
- * Updated the char save structure for char-TXT servers so that the homun id
- will be saved, now also the map info (last point, save point, memo maps)
- are now saved using the mapindex rather than the string. BACKUP BEFORE
- UPDATING since this code isn't yet tested. [Skotlex]
- * Cleaned up a bit the char-saving code, added overflow crash prevention in
- case there are more memos than the max-allowed saved. [Skotlex]
- * AM_CALLHOMUN can now be used to recall vaporized homuns. [Skotlex]
- * AM_RESURRECTHOMUN will now fail when the homun is vaporized. [Skotlex]
- * Added SCB_DYE which marks which status-changes need a forced cloth dye
- change to 0 due to sprite issues. Currently only NJ_BUNSINJYUTSU's status
- uses it. [Skotlex]
- * Asura Strike now moves you to the target on fail always (unless the
- target does not exists or is in another map or there's a obstacle on the
- way) [Skotlex]
- * Corrected skill_attack_area hitting dead characters on it's splash range.
- [Skotlex]
- * Swapped the values for OPTION_XMAS and OPTION_FLYING. This should enable
- SG to show the fly animation again, even if sometimes others will see him
- as Santa. As for xmas cloth, it shouldn't make much of a difference since
- the view class is changed to christmas anyway. [Skotlex]
- * Made AM_CALLHOMUN and AM_RESURRECTHOMUN be like the wedding skills, where
- they automatically pick a spot around you. [Skotlex]
- * Cleaned up some the AM_RESURRECTHOMUN code. Hopefully it works now.
- [Skotlex]
- * Cleaned up some the hom evolution code. [Skotlex]
- * Fixed SIGSEGV with homunc save [Toms]
- 2006/08/14
- * Removed support for negative autosave intervals, instead added a
- minsave_interval setting which specifies which is the minimum time between
- character saves. Default to 100ms (map_athena.conf). [Skotlex]
- * Sacrifice no longer shows damage to self. [Skotlex]
- * When Asura fails, the skill display will still come off. [Skotlex]
- * Lots of cleaning of the Homun-code. Perhaps the crashes as of late will
- be fixed now (reusing AM_CALLHOMUN seems to be the cause of them)
- [Skotlex]
- * Increased Run's walk speed bonus to 25->50% [Skotlex]
- * Modified emergency_call setting to allow for more specific configuration
- (woe/non-woe, gvg-grounds/non-gvg-grounds, disable from nowarpto maps), see
- skill.conf for details. [Skotlex]
- * Fixed script engine allowing scripts to set a player's zeny to negative
- values. [Skotlex]
- * Fixed setting hide_woe_damage making even "miss" attacks seem to connect.
- [Skotlex]
- * When readjusting the fame-list, the last entry's id is also reset (may
- fix characters appearing more than once on it?) [Skotlex]
- 2006/08/13
- * Removed @itemcheck as it was totally pointless. [Skotlex]
- * Corrected states killer/killable being easily dispellable. [Skotlex]
- * Fixed the totally wrong text messages being used for @killer/@killable
- related atcommands, added appropiate entries to msg_athena [Skotlex]
- * Magic and Misc attacks will now get type "flee" when they do less than 1
- damage, this blocks them from causing additional status effects when they
- are blocked. [Skotlex]
- * Cleaned up a bit the Basilica code, it should now properly end when you
- walk. [Skotlex]
- * Fixed some logs not working when you enabled all logs. [Skotlex]
- * Corrected unmute being a level 60 command by default (should be 80)
- [Skotlex]
- * Corrected the mapif_parse_PartyChangeMap function to correctly update
- level-range when someone logs on/off, fixes being unable to set even-share
- on once it's been broken even when the characters out of range logoff.
- [Skotlex]
- 2006/08/11
- * Fixed Kagebunshin no Jutsu crashing for dyes > 0; though this solution
- might seem hackish (changing clothes colour to 0 when it starts while
- storing original colour back in val4, restoring original dye upon
- end), I believe this is the best way there currently is to solve
- the issue. [blackhole89]
- * Fixed Dancers/Bards being able to use normal attacks while performing.
- [Skotlex]
- 2006/08/10
- * Fixed the item group bonus not working. [Skotlex]
- * Fixed songs/dances always being considered overlapped with themselves.
- [Skotlex]
- * Added some additional song/dance overlap code that should correctly
- change the effect of songs/dances when they overlap. [Skotlex]
- * Added a check so that the status-change packet is always send to self
- when the inflicted char is a player disguised. [Skotlex]
- * Code cleanup on homunc, they stay in memory until player disconnect or
- homunc destruction [Toms]
- * Corrected Advanced Jobs HP bonus from 30% -> 25% [Skotlex]
- * Hopefully fixed family-party-even-share not breaking when a member logs
- out. [Skotlex]
- * Should have fixed the login-sql crash when passed user-name's length is
- beyond the limit. [Skotlex]
- * Changed setting attack_attr_none to affect all neutral-element attacks.
- Basicly, this setting is now used to determine who can hit for full damage
- always when using neutral-attacks (defaults to non-players) [Skotlex]
- * Fixed two instances in the login-sql server where the ip in the log-login
- table was being stored backwards. [Skotlex]
- * Now when a skill's range is 0 and the skill is NOT casted on self, it
- will take the basic weapon's range (without Vulture/Snake Eye bonus).
- [Skotlex]
- * Now when a duration is not specified, sc_start/sc_start2/sc_start4 will
- try to guess the duration by extracting it from the skill_db (it uses
- skill_get_time on whatever skill is associated to the status-change using
- val1 as skill-level) [Skotlex]
- * Some cleanups on trade_tradeaccept to prevent packets being resent when
- they shouldn't. [Skotlex]
- * Fixed syntax error in 'guild' create table statement [Toms]
- 2006/08/09
- * Fixed Asura not wasting all SP away when it fails on cast-end. [Skotlex]
- * Fixed homunc skill up bug [Toms]
- * Adjusted some the dance/song/encore code so that the source of an
- ensemble will always get checked, so that walking out of an ensemble skill
- should make it end now. However, it's likely this is not completely solved
- yet and will require further tweaking. [Skotlex]
- * Added crash protection to the mob_db txt reading when the mob_db file has
- lines with insufficient number of columns. [Skotlex]
- * Moved the class-change code from battle_calc_weapon_attack to
- skill_additional_effect. Alchemist summons now also have a chance of
- triggering polymorphing. [Skotlex]
- * Removed the code which was auto-setting attacks that do no damage to type
- FLEE, since that was disabling status-effects which should incur even when
- the damage was blocked. [Skotlex]
- * Trade requests will now fail when either character is unable to act
- (character in storage, vending, interacting with an npc, petrified, etc)
- [Skotlex]
- * Heard skotlex voice, changed all msg_table[] into msg_txt() in atcommand.c [Toms]
- 2006/08/08
- * Fixed the char-server not invoking the party_calc_state function when the
- third party-member is added to a party, hence failing to check for families
- and disabling even share from them unless all three relog first (state is
- correctly calculated when party is first loaded). [Skotlex]
- * Crash-protections in the mail-checking function. [Skotlex]
- * Some additional parenthesis on equipment check in pc_equipitem, seems to
- have fixed the mid/lower headgear-sprites not showing up. [Skotlex]
- * Added back missing state set to prevent Ankle-Snare from being retrieved
- after the target dies. [Skotlex]
- * Fixed compilation warning [Toms]
- * Added a check to handle Spider Web as a targetted skill. If there's more
- than one character on the targetted cell, a different one may get trapped,
- but it will mostly do as it is now. [Skotlex]
- * Added check to Asura so that it will move you to the target when it fails
- ONLY when you can cast the skill on the target (not stunned, asleep, target
- not hidden, etc) [Skotlex]
- * Changed the map_freeblock_unlock code so that when there's an "already
- free'd pointer" error, the memory manager will print out the invoking
- function rather than map_freeblock_unlock, this should help fix it up next
- time it happens and is reported. [Skotlex]
- * Casting Kaensin will clear out Suiton and viceversa now. [Skotlex]
- * Fixed drop-rates (@whodrops) getting duplicates when you use @reloadmobdb
- [Skotlex]
- * Fixed unjailing not sending characters to Prontera. [Skotlex]
- * Fixed yet again AS_SPLASHER doing full damage on all characters. Now you
- can use the NK split damage value in the skill_db if you want damage
- divided by the amount of targets rather than by 2. [Skotlex]
- * Fixed crash on the battle_drain functions. [Skotlex]
- * Cleaned up HAMI_CASTLE, HLIF_AVOID, HAMI_DEFENCE so that it's usable by
- other types of objects other than Homunculus. [Skotlex]
- * Cleaned up the Asura Strike code so that the SP/Spheres/States is not
- consumed when the skill fails due to Fog of Wall. [Skotlex]
- * When a negative delay for a skill is specified, this delay is now added
- on top of the character's amotion rather than adelay [Skotlex]
- * Modified main.sql to make the guild table allow NULL on the emblem data.
- [Skotlex]
- * Added file conf-tmpl/Changelog.txt to log config changes. [Skotlex]
- 2006/08/07
- * Fixed the login-sql server replying to the change-sex packet with the
- wrong gender, causing the char-server to screw-up job-change updates.
- [Skotlex]
- * Cleaned up the apparent mess that is pc_skill. Hopefully it SHOULD work as
- described on the docs now, this should also fix adopting not correctly
- giving the family-related skills. The flag value of skill should be: 0 to
- set the skill (if skill level is 0, this removes a learned skill), 1 grants
- the skill as an item bonus which is temporary, and 2 will add a skill bonus
- like 1, except the skill level adds up to whatever level already known of
- that skill. [Skotlex]
- * Fixed EQP_WEAPON related code messing up with both weapon AND shield.
- [Skotlex]
- * Cleaned up the Asura code so that when the skill fails your
- SP/Spheres/Fury are all taken away always, as well as moving you next to
- the target (as long as the target still exists within a reachable path from
- your position) [Skotlex]
- * SC_GUILDAURA is now removed on logout. [Skotlex]
- * Fixed Venom Splasher doing half-damage instead of full-damage to the
- "exploding" character. [Skotlex]
- * Hopefully fixed the party_even_share cast-overflow bug as reported by
- Adobe. [Skotlex]
- * Standarized the autosave interval setting to be always in seconds
- regardless of type. [Skotlex]
- * Moved the "bosses can't be knockback" logic from battle_calc_* functions
- and placed it on skill_blown. [Skotlex]
- * Some parenthesis cleanup before invoking battle_calc_base_damage, could
- be fixing the current issue with arrow attacks not adding the arrow damage.
- [Skotlex]
- * Fixed the map_search_freecell error which was making mobs fail to
- respawn. [Skotlex]
- * Added in Lupus's suggestion of not making multi-slot headgears set all
- slot view-ids, which supposedly causes the client to re-draw the headgear
- multiple times on characters. [Skotlex]
- * Fixed HT_BLITZBEAT hitting neutral characters when it auto-triggers.
- [Skotlex]
- * Simplified the Tatami Gaeshi code. [Skotlex]
- * Fixed AS_SPLASHER doing full damage on everyone except targetted char
- instead of the other way around. [Skotlex]
- * Fixed KAENSIN clearing out SUITON cells and viceversa. [Skotlex]
- * The spawn area is now seen as range rather than absolute for mob spawn
- lines. This means that x,y,10,10 will spawn the mob on a 21x21 grid around
- the given x,y point. [Skotlex]
- * Some clean up of the mob-spawn code. Now you can specify negative areas,
- so that a spawn location such as 100,150,0,-1 will spawn a mob always on
- x=100, but any Y value of the current map. [Skotlex]
- * Reflected damage will now also have a chance of draining hp/sp. [Skotlex]
- * Adjusted the order in which option/sc change packets are sent to match
- Aegis's [Skotlex]
- * Added script command getpartyleader through which you can retrieve
- various information of a party's leader. See doc/script_commands.txt for
- further information. [Skotlex]
- * mpeg's Ninja work [Vicious]
- * Adjusted Battle_check_target so that alchemist summoned mobs are
- targetted by everyone as long as 1. The top-level master is a player and 2.
- the actual attacker is not a mob-type. [Skotlex]
- * Added config force_random_spawn which overrides the spawn-files defined
- coordinates to make all mobs always spawn randomly on the map. [Skotlex]
- * SC_SPEEDUP0 is no longer dispellable by SA_DISPEL [Skotlex]
- 2006/08/06
- * Updated item_db.sql & mob_db.sql to latest. [Toms]
- * Little fixes on homunc (hp/sp are now saved and init stats changed) [Toms]
- 2006/08/04
- * Added a commented piece of code at the end of clif_parse_LoadEndAck which
- will update your direction to wherever you were facing before warping.
- Should this be the default? Nearby people DO see you facing on the same
- direction before warping, it's only your client that will always see you
- facing north on spawn (the spawn packet does contain direction
- information). [Skotlex]
- * Updated @mobinfo to display slots in the drop information. [Skotlex]
- * Fixed flag.elefix not being respected in battle_calc_misc_damage.
- [Skotlex]
- * Some code cleanups in battle_calc_damage. [Skotlex]
- * Modified bAddItemHealRate so it can receive both item-id and item-group
- values (since the first item-id is +500, there's no risk of mixing them
- up). [Skotlex]
- * Removed settings enemy_critical_rate, homun_critical_rate. Added settings
- enable_critical (defaults to specify only players), mob_critical_rate and
- critical_rate. The last applies to all non-mobs and non-players
- (battle/battle.conf) [Skotlex]
- * Removed settings mob_npc_warp, mob_warpportal. Replaced with setting
- mob_warp which specifies which types of warp can a mob step into
- (battle/monster.conf) [Skotlex]
- * Enabled Mastery damage on Soul Breaker again, moved adv katar mastery out
- of the mastery function so that it may apply to all skills except Soul
- Breaker. [Skotlex]
- * Changed name of the setting log_pick to log_filter since that's what it
- does now. [Skotlex]
- * Modified enable_logs so that instead of a 0/1 setting, you can specify
- which kind of events to log (so you can use a combination), see log_athena
- for the bitmask configuration. [Skotlex]
- * Cleaned a bit the contents of log_athena.conf
- * Hide/Chasewalk will again stop screaming skill name. [Skotlex]
- * Soul Breaker will no longer receive Mastery damage. [Skotlex]
- * Fixed warning:'type' might be used uninitialized in this function [Toms]
- 2006/08/03
- * Added a check to skip the experience share of characters who are dead or
- on another map. [Skotlex]
- * Reverted the previous change, chasewalk has no icon, only the str-bonus
- has that fist icon now. [Skotlex]
- * Allowed chase-walk to display a skill animation when using it. [Skotlex]
- * Readjusted the Chasewalk icon to be as it should be. [Skotlex]
- * GS_DESPERADO is now a short-range attack skill. [Skotlex]
- * Changed the Battle-Orders icon to be the Strength Up icon (for
- Chasewalk's str bonus). [Skotlex]
- * Fixed using the right-hand weapon's size modifiers regardless of which
- weapon's damage was being calculated in regards to. [Skotlex]
- * Simplified the ignore-size check by making the Weapon Perfection check be
- done when specifying the flag, also moved the size-fix property of riding
- spear-knights to status_calc_pc. [Skotlex]
- * Changed SI_CHASEWALK value to 119 as concluded by LoneWolf [Skotlex]
- * Corrected clif.c sending the raw mdef2 value to the client instead of
- first substracting the "secret vit/2" bonus from it. [Skotlex]
- * Added a damage cap to CR_ACIDDEMONSTRATION of INT_MAX/2 to prevent
- overflows. It is not capped to INT_MAX because damage increasing skills
- would cause it to still overflow afterwards. [Skotlex]
- * Fixed NPC_CRITICALSLASH not being considered as a Critical hit by the
- code. [Skotlex]
- * Added RUDE_ATTACKED_COUNT so you can easily adjust how many rude-attacks
- should happen before a mob uses the rude-attacked skill. Value has been set
- to 2 for now. [Skotlex]
- * Now when a mob changes target (to someone they can hit) their
- rude-attacked count won't be reset, but instead will be reduced by one.
- [Skotlex]
- * SC_SPEEDUP0 can now stack with the other speed raising buffs. [Skotlex]
- * Some adjustments so that the last-skill-used will be correctly cleared
- when your combo-time ends. [Skotlex]
- * Fix a bug in atcommand_charspeed [Toms]
- * Fixed a logic error preventing from cooking anything [DracoRPG]
- * Cleaned up the last NJ update code. [Skotlex]
- * Added @ command `charspeed` [Skotlex]
- * Fixed @jailfor using MAP_PRONTERA as jail instead of MAP_JAIL [Skotlex]
- * Removed case for GS_SPREADATTACK on damage packets to see if the skill
- displays correctly now. [Skotlex]
- * Corrected Deluge/Volcano/V. Gale overlaps so that the placing tiles are
- removed, NOT the ones who were already placed. [Skotlex]
- * Made SC_SPEEDUP0 and SC_SPEEDUP1 use different icon IDs, to fix
- icon-confusion when both are enabled at a time. [Skotlex]
- * Mob rude-attacked count is not reset now on picking a new char (gotta
- investigate this further) [Skotlex]
- * Changed atoi to strtoul for guild-experience's field [Toms]
- * Fixed a bug in int_storage.c, temp array doesn't have the good size [Toms]
- 2006/08/02
- * Modified yet again SC_SILENCE after iRO tests from Entwined on IRC.
- Silence now ONLY blocks skills from being used, it will not stop on-going
- casts. [Skotlex]
- * Updated status_cast_cancel to also include silence (so the cast bar is
- cancelled if you are silenced during it) [Skotlex]
- * Updated the way SC_SILENCE works. From what I remember (from previous
- forum discussions) it: 1- Always blocks skills from being used. 2- Will
- only block a skill when the cast-bar ends IF the skill is targetted. If
- anyone wants to debate to get this changed, make an appropiate forum topic
- in the svn development area to discuss. [Skotlex]
- * Added a check in the walking code when triggering skills.
- NPC_SELFDESTRUCTION will no longer cancel walking, it will instead resend
- the walk packet, this effectively causes the mob to start walking
- (clientside) while the cast-bar is showing. [Skotlex]
- * Fixed a logic error on battle_get_master which was causing infinite
- loops.. [Skotlex]
- * Fixed homunculus error message [Toms]
- * Rewrote pc_payzeny to not use doubles, it may more accurately prevent
- charging a player more zeny than they can withhold. [Skotlex]
- * Fixed failing to create Deadly Poison Bottles damaging 50% of your max
- life instead of 25% [Skotlex]
- * Added the missing status-change flags to SC_FREEZE to signal it should
- modify def and magic def [Skotlex]
- * Little add on NJ_HUUMA [Toms]
- * Merged Mpeg's work on Ninja skills [Toms]
- * Fixed Martyr's Reckoning having a cap damage of 32k. [Skotlex]
- * Now you can teleport in Thanatos Boss room, but you can't respawn there [Playtester]
- * Fixed Defender Raising Walk speed instead of diminishing it. [Skotlex]
- * Added a check on status-change load to prevent loading speed-affecting
- status when their speed adjustment is 0 (prevents division by zero)
- [Skotlex]
- * Code cleanup & optimization on guild part of char-server [Toms]
- * Fixed script code data not being free'd if a player quits in the middle
- of a script. [Skotlex]
- * Modified run_script so that when there are leaks, it will report the
- place where run_script was called from as source rather than the inner code
- of run_script (for debugging purposes) [Skotlex]
- * Made recursive master check the default (otherwise it messes skill -> pet
- -> player kind of herarchies) and cleaned up some the battle_get_master
- code to prevent infinite loops in the weird case someone specifies that
- their master is itself. [Skotlex]
- * Recoded the GuildAura code to use val3 & val4, allowing much greater stat
- bonuses (in case someone wants to get Guild Skill level 20 or something
- crazy like that) [Skotlex]
- * Updated battle_check_target so that all alchemist summoned mobs can be
- target by everyone. [Skotlex]
- * Cleaned up skill_check_condition_mob_master_sub, it will now count both
- total number of summoned mobs and amount that belong to the same type.
- [Skotlex]
- * Corrected AM_CANNIBALIZE so it will fail if you already have plants of
- another type out. [Skotlex]
- * Using NPC_SELFDESTRUCTION no longer will make the caster stop walking.
- [Skotlex]
- * Removed SI_GUILDAURA, and replaced it with SI_LANDENDOW, now
- Volcano/Deluge/V. Gale will get that funky icon instead. [Skotlex]
- * Changed clif_hominfo to receive both sd and hd as parameters
- * Some redundancy cleaning in mercenary.c [Skotlex]
- * Moved updating of sd->mercenary.hp from merc_damage to pc_makesavestatus.
- [Skotlex]
- 2006/08/01
- * Miscellanous fixes which make the Marine Sphere self destruction work as
- best as I can. It only has one flaw: It self-destructs instantly after
- walking because if I make it use self-destruction with a cast-bar,
- client-side the object stops moving inmediately... [Skotlex]
- * Modified unit_walktoxy and NPC_RUN to enable running even when the caster
- does not has the MD_CANMOVE bit on. [Skotlex]
- * PF_MINDBREAKER will now silently fail if you try to use it on someone who
- already has the status active. [Skotlex]
- * Cleaned up yet again skill_landprotector, now new cells of
- Deluge/Volcano/V.Gale will delete previous cells when they are recasted on
- top of each other. [Skotlex]
- * Summoned Marine Spheres no longer get the MD_CANMOVE bit. [Skotlex]
- * Cleaned up some more the SC_JAILED code [Skotlex]
- * merged in atcommands jailfor, jailtime, charjailtime. Thanks to Meruru
- and Coltaro for the code. [Skotlex]
- * Cleaned the code of atcommands jail and unjail [Skotlex]
- * Be warned that the code MAY contain bugs as I adjusted it to save the
- character's position before jailing, allowing the automatic unjailing to
- warp you back to the exact spot you were at before being jailed. [Skotlex]
- * Should have fixed the cooking sets not displaying all cooking available
- items. [Skotlex]
- * Figured out and fixed the issue with Volcano/Deluge/Violent Gale not
- really working. Thanks to Mpeg for noting it out. [Skotlex]
- * Modified Self Destruction, so that Marine Spheres in non-versus maps will
- hurt only enemies, while in all other situations this skill will hurt
- everyone around them. [Skotlex]
- * Expanded setting debuff_on_logout so that &1 removes negative buffs and
- &2 removes positive buffs. [Skotlex]
- * Food status boosts will no longer end on death, but they will end when
- you respawn or logout. [Skotlex]
- * Added battle config file status.conf, moved some settings from skill.conf
- and battle.conf to it since they are entirely Status-Change related.
- [Skotlex]
- * Added the missing lines to enable script command "kickwaitingroomall"
- [Skotlex]
- * Magic Rod's can-act delay will no longer be applied when you absorb a
- spell. [Skotlex]
- * Fixed Don't Forget Me increasing speed instead of decreasing it. [Skotlex]
- * Modified setlabel so that the script engine barks when you are trying to
- use the same label name as a constant or variable name. [Skotlex]
- 2006/07/31
- * Fixed the subnet 0 mask being reset to 0 when someone goes up on the fame
- rankings. [Skotlex]
- * Updated Poison React chance to counter and number of counters as per
- skill description updates. [Skotlex]
- * Fixed Sharpshooting being counted as a magic attack, and hence, using
- your MATK as base damage. [Skotlex]
- * Fixed NPC_STOP id value in skill_cast_db [Skotlex]
- * Bladestop will no longer stop when you push either of the characters
- around. [Skotlex]
- * Fixed Enchant Poison having a near 100% chance of poisoning target on
- attack. [Skotlex]
- * Little fix on duel [Toms]
- * Added possibility to restrict duel usage to same map [Toms]
- * Merged mpeg's fix on ninja skills [Toms]
- * Corrected a status_get_race call which should be status_get_race2 in misc
- attacks. [Skotlex]
- * Moved the Devotion code to the top of the SC list in status_damage,
- meaning that now stuff like being asleep or confused won't end if you are
- hit, but the damage is absorbed by devotion. [Skotlex]
- * Added the Soul Link of Rogue speed bonus to Chase-Walk. Since there's no
- information of how much the bonus should be, it currently is a conservative
- 10%. [Skotlex]
- * Fixed a possible crash in the main script engine when restoring previous
- script. [Skotlex]
- * Fixed sleep.tick not being set back to 0 before resuming execution, which
- leads to scripts that are continously executed even when they already ended
- (they do nothing but waste resources) [Skotlex]
- * Fixed a pair of free -> aFree used on stacks, which would lead to memory
- manager reporting leaks where there aren't. [Skotlex]
- * Removed incorrect "Waterball range+1 when standing on suiton" feature.
- [Skotlex]
- * Corrected the Speed update code to prevent sending "walk to xy" packets
- twice when the affected character is a player. [Skotlex]
- * Expanded mob can't move warning to print out where this mob was stuck at
- (map, x,y) [Skotlex]
- * Fixed segmentation fault in status_change_end, vd wasn't initialized [Toms]
- 2006/07/30
- * NPC_INVISIBLE will now use Cloaking of a level +9 of the used skill
- level, so that at level 1 they can attack, use skills and receive no
- walking penalty. [Skotlex]
- * Mob casted Sanctuary will no longer always heal it's targets regardless
- of element/race [Skotlex]
- * Status change packets will now use as criteria for sending the actual
- view_class instead of player/not-player. This will fix status-changes
- displaying improperly on clones, and also possible crashes with disguised
- players. [Skotlex]
- * Merged mpeg's fix on ninja skills and SA_VOLCANO,SA_DELUGE,SA_VIOLENTGALE [Toms]
- * Added bNoMiscDamage setting so you can specify misc-damage blocking from
- skills. Modified battle_calc_damage so that even Pressure and similar
- skills will be affected by this setting. [Skotlex]
- * GS skill updates/fixes [Vicious]
- * Force all users offline in sql when char-server starts [Toms]
- 2006/07/29
- * Removed ugly struct cast in login.c [Toms]
- * New version of buildin_query_sql which accept more than one column and
- can return the number of rows. See script_commands.txt for more details. [Toms]
- * Fixed nullpo in merc_hom_skillup [Toms]
- * Added a return value to buildin_rid2name if rid is invalid [Toms]
- * Made the SQL ping interval default to 7 hours. [Skotlex]
- * Made skill_unitsetting remove the group when no unit-cells were placed
- down. basicly this means that if landprotector blocks all tiles, the group
- will be removed from memory, preventing said group from counting to the
- total number of skills you can set. [Skotlex]
- * Fixed segmentation fault in script engine when calling something which is not a function [Toms]
- * Fixed segmentation fault in script engine when activating DEBUG_RUN flag [Toms]
- 2006/07/28
- * Added Ishizu's code to check ammo type on attack. No more using Grenade
- rounds with Guns. [Skotlex]
- * offensive heal/sanctuary will only happen when the source of the heal is
- a player, mob/pet casted heal will now always heal regardless of target.
- [Skotlex]
- * Shield Chain will now ignore the 'ice-pick' defense piercing bonus.
- [Skotlex]
- * Self destruction will now hit all characters in range, not just enemies.
- [Skotlex]
- * Cleaned up the NJ update code: [Skotlex]
- - Restored code which was removed (stuff like SC_SKA)
- - Fixed possible crashes on some NJ skills if used by non-players.
- - Fixed most NJ magic spells doing more damage than they should.
- - Fixed ZenyNage being able to do more damage than zeny you have.
- - Cleaned up skill setting code for Suiton and Kaensin
- * Some cleaning of battle_drain, Evil Druid card should work now. [Skotlex]
- * Made status_damage allow damaging of objects not on a map, this should
- fix pet-catching making the mob never respawn again. [Skotlex]
- * Casted nothl to (unsigned int) in sprintf functions, IP is 32bits and sql field the same :) [Toms]
- * Fixed "warning: `list' might be used uninitialized in this function" in char/char.c@3032 [Toms]
- * Fixed "uninitialized local variable 'i' used" in skill.c and "warning: suggest explicit braces to avoid ambiguous `else'" in battle.c [Toms]
- * Fixed "warning: long unsigned int format, unsigned int arg" in parse_login (login_sql\login.c) [Toms]
- * Fixed sign warnings in login/login.c [Toms]
- * Fixed "conversion from 'double' to 'int', possible loss of data" [Toms]
- * Fixed "warning: redefinition of [ushort/uint/ulong]" [Toms]
- * Fixed duplicate case value on NJ_SUITON [Toms]
- 2006/07/27
- * Fixed a memory leak when there exists more than one user function with
- the same name, added the appropiate warning when this happens. [Skotlex]
- * Added reporting source file when an npc shops item's price is
- exploitable. [Skotlex]
- * The picklog will now record negative values for items sold to npcs.
- [Skotlex]
- * Added inmediate position and hp-bar update when a character joins a
- party. [Skotlex]
- * Added missing SC information to NPC_CHANGEUNDEAD [Skotlex]
- * Added config setting party_update_interval so you can specify how often
- the party-mate minidots should be updated (defaults to 1 sec). [Skotlex]
- * Removed a bunch of broken comments in skill.c [Skotlex]
- * Synced the script.c file with as much data as possible from jA's:
- [Skotlex]
- - A lot of functions were moved around, a bunch of indentation and
- space-usage changes were done to make it easier to diff against their
- files.
- - Miscellanous addition and corrections were applied.
- - Largest one is likely a restructuring of run_script_main, which hopes to
- solve the memory leaks.
- - script engine now uses the setjmp functions to restore memory state when
- there's an error parsing scripts, which means that script errors won't
- cause the map-server to inmediately bail out anymore.
- - NOTE that the amount of changes is pretty extensive, so DON'T USE THIS on
- a live server. Update only to help test and debug to see if the script
- engine memory leaks are gone.
- * Added a cleanup routine on shutdown to remove all characters from memory
- for whom the save ack has not returned from the char-server yet. [Skotlex]
- * Now when you set the guardian's HP, if the guardian is spawned, it's HP
- will be updated accordingly (and if you set it to 0, the guardian is
- killed) [Skotlex]
- * Added functions status_set_hp/status_set_sp to set hp/sp to a given
- value. Applied usage of these on the Berserk and Soul Change code.
- [Skotlex]
- * Added config setting "party_hp_mode" (battle/party.conf) which determines
- method to use to update party-mate hp bars. Aegis style is to update HP
- bars whenever HP changes, while eAthena style is to update it together with
- the map party dots. Defaults to aegis style. [Skotlex]
- * Fixed packet 0x22a having the manner and opt3 packets in inverted
- offsets. [Skotlex]
- * Readded the check which prevents Cloaking from activating when your
- learned level is less than 3 and you aren't next to a wall. [Skotlex]
- * Some cleanups to the Frenzy/Berserk status change, it should probably
- work correctly now. [Skotlex]
- * Removed a redeclared variable i in the parsing of the fame list (char-sql
- server) which seems to be the cause of the random memory corruptions.
- [Skotlex]
- * Updated item_db.sql to latest. [Toms]
- * Fix homunc & code cleanup [Toms]
- - Timer problems on delete_timer
- - Intimacy problem (overflow & new values)
- - Homunc deleted if intimacy < 0
- - base exp is now given to master
- - Homunc sometimes not saved
- 2006/07/26
- * Fixed a memory leak when reading the item_db txt. [Skotlex]
- * Applied the necessary changes to make @partyoption reflect it's changes
- on the alt+p window. [Skotlex]
- * Modified party_item_share_type config setting so that using 1 disables
- item-sharing from non-mob loot (player dropped items or pet loot) and 2
- enables round-robin instead of random sharing. Using 3 obviously is
- enabling both 1 and 2. [Skotlex]
- * Added battle_get_master which returns the master bl of a given object.
- [Skotlex]
- * Recoded battle_check_target to use battle_get_master, the src/target
- switch has been split into two, so that actual target and master target are
- seperately treated (same for source). [Skotlex]
- * Added support for "sc_end -1" which will clear all status changes. Added
- the constant SC_ALL so you can use in scripts "sc_end SC_ALL;" instead.
- [Skotlex]
- * @pettalk will now fail when muted. [Skotlex]
- * Enabled changing of equipment while stunned/asleep/petrified/etc [Skotlex]
- 2006/07/25
- * Cleaned up run_script_main to properly free previous stack-data when
- running scripts. Note that scripts may still leak memory when run by
- non-players and they don't reach the "END" state, however I am not sure how
- this case should be handled, so it's left as it is for now. [Skotlex]
- * Added a missing ntohl call in the loginlog code. [Skotlex]
- * Added a check when buying from npcs to allow buying of item_avail items.
- [Skotlex]
- * Fixed duel accept invite sending the packet before the duel data is set
- (resulting in a packet that noone receives). Thanks to Toms for finding it
- out. [Skotlex]
- * Fixed a possible crash when you dual-wield and the total damage is 0.
- [Skotlex]
- * Added Toms's perl scripts item_db.pl and mob_db.pl (they are in tools/),
- they convert the txt databases into sql. [Skotlex]
- - Usage: "script" < "input file" > "output file". eg: ./tools/item_db.pl < db/item_db.txt > sql-files/item_db.sql
- * Updated the sql files since now it's quick [Skotlex]
- 2006/07/24
- * Re-updated the mob_db.sql to latest. [Skotlex]
- * Cleaned up the skill_landprotector function to correctly block only magic
- skills from being placed on land protectors. [Skotlex]
- * Corrected itemdb_group so that it will not return the random item givers
- (should give priority to actual item groups, so that the item heal bonuses
- work correctly) [Skotlex]
- * Cleaned up the Mistress Card related code so that the no-gemstone bonus
- reduces item requirements by one rather than totally skip them. [Skotlex]
- * Cleaned up the logs "can log"function to use the IT constants. Also
- corrected the "only log large amounts" setting not working on negative
- values (trades). [Skotlex]
- * Adjusted skill_castfix_sc so that Suffragium will get consumed even on
- instant cast skills, but Memorize won't. [Skotlex]
- * BladeStop will now end when either of the characters is moved (knocked
- out?) around. [Skotlex]
- * Moved the Zeny penalty code from respawn to pc_dead. [Skotlex]
- * Added a check to prevent Deluge/Volcano/Violent Gale from being placed on
- top of each other. Reverted the previous 'fix' where atk was being
- increased based on armor element rather than element of attack. [Skotlex]
- * Removed the noreturn mapflag check from script command warp. [Skotlex]
- * Homuculus cleanup [DracoRPG]
- - Replaced nullpo's in parse functions by silent checks
- - Removed server-side effect for menu option 0 (view status window...
- why does the client send us the packet since we don't care? -_-)
- - Rewrote intimacy underflow checks so they are really effective (no
- need to check if an unsigned is < 0, it won't work... check before!)
- * fixed unban unblocking players as well. [Skotlex]
- * Fixed Volcano/Deluge/Violent Gale increasing damage based on element of
- attack instead of defense element of attacker. [Skotlex]
- * Cleaned up the code of Magic Rod, fixed it not giving SP. [Skotlex]
- * Moved the code of Hermod and Basilica to castend_pos2 so it should work
- now. [Skotlex]
- * Modified the code of Ankle Snare so the status ends on unit's time-limit
- rather than when the snared object moves away. [Skotlex]
- * Re-worded the water check of ST_WATER skills. [Skotlex]
- * Allowed sc-cast reductions to be processed even when cast-time is instant
- (to let suffragium end even on instant-cast skills) [Skotlex]
- 2006/07/23
- * Modified setting skillrange_by_weapon (skill.conf) to be a
- per-object-type setting instead of yes/no. The default now is that
- weapon-based skills will take the attacker's range for non-players.
- [Skotlex]
- * Changed the default of skillrange_by_distance to include homunculus.
- [Skotlex]
- * Fixed buildin_isequip not working correctly with non-cards. [Skotlex]
- 2006/07/22
- * Updated mob_db.sql to latest. [Skotlex]
- * Applied Toms's suggested corrections to homun code. [Skotlex]
- * Corrected Cannibalize/Marine Sphere ignoring the selected summon spot.
- [Skotlex]
- * Fixed looting pets ignoring the item pick-up priority of other players.
- [Skotlex]
- * Should have fixed a signess warning in login txt. [Skotlex]
- 2006/07/21
- * Added blocking of @me when muted or in berserk status. [Skotlex]
- * Corrected the @follow timer not being deleted on logout. [Skotlex]
- * Applied the homunculus code fixes provided by Toms. [Skotlex]
- * battle_check_target will now tag homunculus as invalid target when the
- source is a skill-type object. [Skotlex]
- * Added a check on pc_equipitem so that when the client specifies to equip
- a weapon on the right hand when the left hand is available, the weapon will
- be sent to the left hand instead (when dual-wielding is possible,
- obviously). Same for the left/right accessories. [Skotlex]
- * Added the necessary checks so that Suiton makes Fogwall have double
- duration, and to make water-requiring skills to consume their cells.
- [Skotlex]
- * Corrected the loadmap event description to specify that the mapflag
- required is actually "loadevent", NOT "loadmap"! [Skotlex]
- * Now when the char-txt server does not finds a requested party, it will
- clear out said party id of all characters (will help prevent massive
- spamming/overhead when for some reason the party file needs to be deleted).
- [Skotlex]
- * Combo skills (inf = self, inf2 = no target self) no longer check range if
- you use them while your attack-timer is still active. [Skotlex]
- * Added back a map_freeblock call in skill_delunitgroup which caused a
- memory leak when removed... [Skotlex]
- * Added a check to prevent Blind from ending while standing on a fog of
- wall. [Skotlex]
- * The mob Slave ai will be executed now even when the slave has a target.
- This will allow for "instant" warping to the master when it changes maps or
- teleports. if the slave has a target already, it won't unlock it and chase
- back to the master or anything like that. [Skotlex]
- * Removed a couple of checks that prevents item ids above 20000. However,
- remember that the max id is still ~32k or the client is the one who's gonna
- crash! [Skotlex]
- 2006/07/20
- * Added source reporting when you do an invalid int&str or str&int
- operation on a script. [Skotlex]
- * Fixed the intif party creation packet having the incorrect size sent,
- hence causing the leader's level to be read as garbage (which caused the
- "impossible to even share" bug). [Skotlex]
- * Added pc_check_weapontype to do a proper skill weapon check that takes
- into account dual-wielding. That is, if a skill can be used with
- daggers/axes, you'll be able to use the skill when dual-wielding them.
- [Skotlex]
- * Corrected Cloaking level 1-2 not letting you move across walls. [Skotlex]
- * updated cloaking code so that when you set "enable cloaking without
- walls", the code will consider you as "always next to a wall", thus you get
- the wall-speed bonus always. [Skotlex]
- * Applied the fix to homunculus name saving... [Skotlex]
- * Added battle config settings agi_penalty_target and vit_penalty_target,
- they define which object types will get vit/flee reductions when
- multi-targetted and defaults to only players (battle/battle.conf) [Skotlex]
- * Added the dummy intravision case for the changeoption packet 0x229
- [Skotlex]
- * Corrected Fog of Wall so that all targetted offensive skills (not only
- those who do damage) will fail on cast-end 75% of the time. [Skotlex]
- * corrected @homlevel up and one entry in the homun exp table as reported
- on the forums by Albator. [Skotlex]
- * Added the SQL fix to Homunculus skill learning/saving bug [DracoRPG]
- * Added a status_check_skilluse on skill_attack_area call to prevent splash
- damage skills from hitting hidden/trickdead/etc characters. [Skotlex]
- * Corrected fog of wall to behave as best known currently: [Skotlex]
- - Only takes effect when targetting a character inside it
- - -50hit/-75% damage when using normal-ranged attacks
- - -25% damage from all damage skills
- - 75% chance of all targetted damage skills of failing.
- * Should have fixed @refine applying multiple times to equipment that uses
- multiple equip slots. [Skotlex]
- 2006/07/19
- * Fixed the inf code update breakage which was blocking all offensive
- skills. [Skotlex]
- * Added battle setting homun_critical_rate (defaults to 0) [Skotlex]
- * Removed enemy_str/pet_str/enemy_perfect_flee and replaced them with
- enable_perfect_flee which specifies which objects can have perfect flee and
- enable_baseatk which specifies which objects can have a base attack value
- (both in battle.conf) [Skotlex]
- * Modified the targetted skill logic to enable offensive skills to be
- targetted at party/guild members if the appropiate inf2 value is set.
- [Skotlex]
- * Added checks to make adding items to inventory/cart fail when a char is
- in finalsave state. [Skotlex]
- * Fixed parse_names on irc.c crashing when receiving a null argument.
- [Skotlex]
- * Modified the parsing of the names line, since some servers will send @
- instead of = when separating the information. [Skotlex]
- * Fixed the homun creation sql statement. Why noone else did so before?
- [Skotlex]
- * When enabling/disabling hiding/unhiding an npc, if the npc is a warp, it
- will use clearchar and spawn packets instead of changeoption. Thanks to
- Toms for the fix. [Skotlex]
- * Corrected Trim chars to block 'enter', as explained by the Ultra mage.
- [Skotlex]
- * When the client passes account version 0, the login server will set it to
- 1 now. [Skotlex]
- * Corrected the HP bar scaling when HP is above Short Max. It should
- display fine for any HP value now. [Skotlex]
- * Added a check when the mob's adelay is shorter than the amotion, in which
- case the adelay will be changed to the amotion value. [Skotlex]
- * Some minor mapflag changes. [MasterOfMuppets]
- 2006/07/18
- * Added atcommand @partyoption, lets you alter the party item-distribution
- type on the go. Usage is "@partyoption <pickup share> <item distribution>",
- where both arguments can be 0/1, yes/no, etc. [Skotlex]
- * Updated @changeleader and @partyoption to use msg_Athena entries.
- [Skotlex]
- * Added character 013 (enter) to the list of characters that are always
- removed from new character names. [Skotlex]
- * Fixed a crash when trying to extend TK's infinite combo feature. [Skotlex]
- * Corrected Poison React to counter regardless of distance, and to use the
- skill's 50+5*lv% counter chance (instead of 100%). [Skotlex]
- * Corrected Venom splasher's splash damage [Skotlex]
- * You now can't move/attack/use-skills when using Cloaking of a level less
- than 3 [Skotlex]
- * Fixed compilation of mercenary.c [Skotlex]
- * Corrected Fog of Wall's "targetted spells fail 75% of the time" feature
- by making it behave like GTB, that is, you just get a skill-failed on
- cast-end, no skill-animation at all. [Skotlex]
- * Added a proper check to make aggressive mobs never override homun targets
- regardless of distance. [Skotlex]
- * Removed a bunch of homun-related variables that are not needed at all.
- The alive condition is removed, now the code checks for the hp value to
- know if the homun is alive or not. [Skotlex]
- * Cleaned up a bit the skill-id function, homun skill checks (such as delay
- and skill-lv learned) should be correct now. [Skotlex]
- * Added a proper check to make aggressive mobs never override homun targets
- regardless of distance. [Skotlex]
- * Fixed giving the 100% damage bonus when no-splash-targets are found in
- the blown path to Grandcross instead of Bowling Bash. Bowling Bash damage
- equation becomes then +50*lv% rather than +40*lv% when there's no
- splash-damage (the 50*lv% figure is custom, all we know is that level 10
- does 600% instead of 500% damage). [Skotlex]
- 2006/07/17
- * Updated mob_db.sql to current mob_db.txt data. [Skotlex]
- * The char-server will allow off-line character saves when said char is
- tagged for final-save (this is the scenario when the char-map reconnect).
- [Skotlex]
- * Should have fixed the Cart Termination damage code to be scaled correctly
- when you change the max cart weight. Thanks to The Ultra Mage for the error
- clarification. [Skotlex]
- * Implemented Grandcross weird property where if there's noone on the path
- it'll hit twice for the skill's reported damage, and when there is (or you
- can't knockback the target) it'll do a splash attack that hits twice for
- 500% to all affected targets. [Skotlex]
- * Some cleaning of the combo code. TK Rankers will now get their combo-time
- extended each time they trigger a kick, enabling them to do "unlimited
- combos". [Skotlex]
- * Modified the autosave function to use a sweep across the player db
- instead of across connected clients. This will cause non-connected players
- (like autotraders) to also be saved on a regular interval, may help with
- possible data-loss from said characters on unclean shutdowns. [Skotlex]
- * Removed the code that forces aggressive mobs to go after a Homun instead
- of their master (no reason why there should be such a condition). [Skotlex]
- * Some sign quest map flag updates [MasterOfMuppets]
- * atcommand_follow is now more verbose. [Adam]
- * Manually added int_homun.c to the VS8 char_sql project, *should* work [DracoRPG]
- * Orn's fix to the very critical skill level up bug [DracoRPG]
- * Updated mob_db.sql to current mob_db.txt data. [Skotlex]
- * Added Orn's lil fix on homun [Vicious]
- * Added Homunculus system, enjoy! [orn aka Nylou]
- - WARNING: This currently only works with the SQL version, as the TXT char-server
- has no code for it at the moment. You TXT server won't break, but the char-server
- will complain of an unknown packet if you try to get an Homunculus
- * Updated nomemo mapflags based on info from http://ro.doddlercon.com/images/memo.jpg [Poki#3]
- 2006/07/15
- * Small change in conf/battle/player.conf to say that 199 is max aspd allowed
- (Haplo says that there are many reports of having over 200 is giving errors) [Evera]
- 2006/07/13
- * Kaahi no longer shows the heal effect to everyone. [Skotlex]
- * Eska no will cause defense to change randomly every second. [Skotlex]
- * Tuned up some more NJ_KAENSIN based on Tharis's information. [Skotlex]
- * Corrected NJ_KAENSIN as per description. [Skotlex]
- * Fixed a leaking map_freeblocklock on skill_del_unitgroup. [Skotlex]
- * Changed the default save interval to 5 minutes. Added support for
- specifying fixed save-intervals by using negative values. [Skotlex] EG:
- - Save interval set to 300 (5 minutes): all characters will be saved in
- equal time-slots, so that everyone is saved every 5 minutes regardless of
- number of players online.
- - Save interval set to -1000 (1000 ms): One character will be saved every
- second, regardless of amount of characters online.
- The new fixed-time-slots method is meant for larger servers, so that they
- can control the saving-induced stressed on the char-server.
- * Fixed @storeall and @charstoreall failing when the target character
- already had the storage open. [Skotlex]
- * Reverted temporarily the Cart Termination equation until it can be
- fixed... [Skotlex]
- * Fixed script command "recovery". [Skotlex]
- 2006/07/12
- * Fixed a small typo in my code [Zido]
- * Added negative value in bonus exploit fix for more stat bonuses [Zido]
- * Fixed exploit in pc_bonus there are no checks that check that the value being
- added onto a status don't make it go below zero, which means if you have a mineral
- card and reset stats it reduces your base attack to lower than zero, making it
- go up to 64000. Fixed by adding a check for SP_BASE_ATK, although i recommend
- doing it for other status bonuses also [Zido]
- * Recoded NJ_BAKUENRYU to behave as I understand it best from the
- skill-description (since Haplo told me this skill doesn't really has video
- information or anything...) [Skotlex]
- * Fixed NJ_TATAMIGAESHI to use ground-tiles rather than "for each in path"
- calls. The skill should be working correctly now, except for the fact that
- the correct "unit id" is missing (this is what would give the ground tile
- it's correct display). Temporarily it is using 0xba until the correct value
- is found. [Skotlex]
- * Added back the undead check to turn undead/resurrection to prevent
- damaging non-undead targets, removed it from the battle damage section.
- [Skotlex]
- * Resurrection will now silently fail when used on non-undead + not-dead
- characters. [Skotlex]
- * Poem of bragi/magic String's base delay reduction at level 10 (or above)
- is now 50% instead of 3*lv%. [Skotlex]
- * status_damage will no longer fail when the target is not on a map AND the
- flag is 2 (charge rather than damage). Fixes SP-draining status changes
- ending suddenly when in-between maps. [Skotlex]
- * Fixed the IP value being apparently incorrectly casted before inserting
- into the loginlog table on "connect success" events. [Skotlex]
- * Fixed Cart Termination's damage. [Skotlex]
- * Added the missing check to remove character from memory when logging out
- and using the charsave_method which saves character map-server-side.
- [Skotlex]
- 2006/07/11
- * Fixed inverted check which was preventing you from buying more than 1
- from any stackable item.... [Skotlex]
- * Should have fixed the crash in intif gm message... [Skotlex]
- * Fixed GTB card only working while you had a status-change active.
- [Skotlex]
- * Fixed being unable to compound cards in armor. [Skotlex]
- * Made @monsterignore be an universal ignore. Means you cannot be targetted
- as an enemy by anything. Also added alias "@battleignore" which does the
- same as monsterignore. [Skotlex]
- * Fixed magic power setting your min matk as max-matk. [Skotlex]
- * Modified the packets involved in @fakename in hopes it'll refresh
- correctly on nearby clients now. [Skotlex]
- * Fixed clif_parse not checking for func_parse before sending data to the
- connected clients. This in turn required various code-rewrites in: [Skotlex]
- - duel related messaging functions (added clif targets DUEL/DUEL_WOS).
- - intif whisper to gm function
- - day/night timers
- - Rewrote the parse_console function to stop allocating/deallocating memory
- on every call.
- - Modified chrif_charselectreq to receive the player's ip among the data.
- * Added function clif_disp_message, which is the same as
- clif_disp_onlyself, except you can specify the targets (it sends a
- guild-chat packet) [Skotlex]
- * Fixed the subele bonus (elemental reduction) being applied to the element
- of the attacker instead of the element of the attack. [Skotlex]
- * mob skills now won't trigger on unit_stopwalking calls. [Skotlex]
- * Coded @reset. [Skotlex]
- * Reenabled @changesex [Skotlex]
- * Added function pet_create_egg which handles creating pet eggs correctly
- (when passed item id is indeed a valid petegg). Applied this on @createitem
- and getitem. [Skotlex]
- * Cleaned up code of @item [Skotlex]
- * Cleaned up the itemdb_isequip functions. itemdb_isequip will now return
- if the item is equipable by players, itemdb_isstackable returns if the item
- can be stacked, and itemdb_isidentified returns if the item should drop
- identified. [Skotlex]
- * Added defines CARD0_PET/CARD0_FORGE/CARD0_CREATED to identify if a given
- item has "invalid" cards, added define function itemdb_isspecial to
- simplify this check. [Skotlex]
- * Removed itemdb.c considering item ids above 20000 as invalid. [Skotlex]
- * Cleaned up script commands getitem and card-counting related ones.
- [Skotlex]
- * Cleaned up a bit more pc_isequip [Skotlex]
- * Added script function warpportal(x,y,targetmap$,targetx,targety).
- This creates warp portals as in the skill unit as a volatile alternative
- to static warp portals. [blackhole89]
- * Modified the login-sql server to do the ip-ban check only on the
- auth-packets instead of on every packet. [Skotlex]
- 2006/07/10
- * Corrected Warp Portal being unable to warp people who are standing on it
- on the moment it triggers. [Skotlex]
- * Fixed @follow stopping the moment you are warped. [Skotlex]
- * Fixed pc_additem messing with the equip field of the passed item data.
- Fixes the famous "equip stuff on your arrow slot" bug. [Skotlex]
- * Fixed cart-termination crashing the server if you used level 16 of it.
- [Skotlex]
- * Fixed check_connect_login_server check in char-sql server. Fixes
- char-server not reconnecting to the login server. [Skotlex]
- * Login-sql server will no longer change an account's state to "7" when
- banning a player. This should fix being able to use @ban to clear out a
- @blocked player. Players will now be identified as banned only through the
- banned-until timestamp. [Skotlex]
- * Fixed a crash when using Gospel... [Skotlex]
- * The on-place function won't be invoked on setting ground skills if the
- group's tick is greater than the current tick. As Buuyo pointed out, this
- should fix Sanctuary and Gospel taking effect inmediately instead of after
- "x" amount of ms as they should. [Skotlex]
- * Added login-char packet 0x2737. Sets all characters offline (login-server
- side). [Skotlex]
- * Cleaned up char server "set all offline" implementation to remove only
- characters from the map-server from which the packet was invoked. It will
- also now correctly kick/set-character offline from the map-server if they
- are connected. [Skotlex]
- * Cleaned up the char-sql reconnect code. It no longer sets everyone to
- offline. [Skotlex]
- * Removed setting "kick_on_disconnect", servers will no longer kick
- characters out when there's a disconnection. Instead, it'll use the most
- logical approach: Set characters into a "lost" state when there's a
- disconnection, on reconnect, resent the list of online-characters, do a
- sync, and let the difference be characters to be removed. Also, the
- map-server won't release character data until it's saved and the ack
- returns from the char-server to prevent data loss (all this data is resent
- on reconnect for saving anyway). [Skotlex]
- * Added a check in pc_equipitem so that when switching weapons and you have
- the skill_range_by_weapon setting active, the skill info block (which
- includes range) will be resent when the new weapon to equip has a range
- different than the previous one. [Skotlex]
- * One closer inspection, removed that clear in itemdb_reload for a foreach
- call again. And modified itemdb_load to scrap the dummy item entry from the
- item_db and replace it with proper data for the item. [Skotlex]
- * itemdb_reload will clear the itemdb before reloading info instead of only
- clearing the scripts now. [Skotlex]
- * Some cleaning of skill_castend_pos2, fixed Gospel, and a
- map_freeblock_unlock misplacement. [Skotlex]
- * Sense/Estimation will now display the mob info window to all party
- members in the same map. [Skotlex]
- 2006/07/08
- * Fixed the new addeff structure not working well with SC_STONE (because
- SC_STONE is 0, which was by default not handled as a valid value).
- [Skotlex]
- * Added back the TF_MISS walking speed bonus to assassin type classes (how
- did that got lost?) [Skotlex]
- * Fixed mobinfo displaying exp as signed ints rather than unsigned.
- [Skotlex]
- * Added status_check_visibility to check if an object is within range of
- view of another. Nothing more, nothing less. It's used by unit movement to
- check whether you can continue chasing your target or not when the "chase
- target" directive is given. [Skotlex]
- * Fixed the char table having party/guild_id as smallint when they need int
- there. Thanks to hermematon for pointing it out (use svn_ugprade7580.sql)
- [Skotlex]
- * Applied k3dt fixes to pet-hatching, ice-wall check, and wedding skills.
- [Skotlex]
- * Fixed endow skills calling the skill no damage packet twice. [Skotlex]
- * Fixed a crash on warpwaitingpc when the chat-room is empty. [Skotlex]
- 2006/07/07
- * Fixed the Warm Skills [Skotlex]
- * Removed the debug message when a player logs out and is removed from
- memory, it is working fine (tested normal logging off and autotrade). [Skotlex]
- * Corrected the pet-armor field of the pet not being updated on
- equip/unequip of accessories, making them not show up inmediately. [Skotlex]
- * Status_calc_bl will no longer stop you from attacking/walking when the
- mode is changed unless the new mode no longer includes
- "can-attack"/"can-move" respectively. [Skotlex]
- * Should have fixed clif_item_sub to properly store pet egg/armor data.
- There should be no more "random refine levels" bugs related to these.
- [Skotlex]
- * itemdb_exists will now return NULL for item_id 0. [Skotlex]
- * Added a check to free a character from memory when changing map servers.
- [Skotlex]
- * Okay, added a chrif_save_ack packet to the char-server so now the map
- server will know once a character was "final saved", and only then the
- character will be removed from memory. On char-server reconnection, all
- chars that are in final-save state are resent to save (if they are still in
- memory, it's because the ack hasn't gotten here from the char-server). This
- should effectively block all dupe problems due to heavy inter-server lag,
- however as it's untested, it currently prints some debug messages when
- people are saved and then removed from memory. Need testers so this can be
- debugged and merged to stable! [Skotlex]
- * Now, when the login-char connection is cut, the char-server won't set
- everyone offline on reconnect, instead it will send the list of online
- accounts to the login server. [Skotlex]
- * Modified the error on the char-sql server to set chars online when it
- receives a save packet from a character tagged as offline (until it can be
- figured out why this is happening) [Skotlex]
- * Fixed signed/unsigned comparison issues in the char txt/sql server.
- [Skotlex]
- * Fixed the cooking success chances. Thanks to Ishizu Chan. [Skotlex]
- * Added a temporary band-aid to prevent executing the script of non-arrows
- when they are equipped on the arrow-slot (until the actual cause of why
- pc_unequipitem is not working correctly is discovered/fixed) [Skotlex]
- 2006/07/06
- * Modified the party_data structure on the map server to remove some
- redundant data. Added a party_data structure on the char-server to hold a
- more complete set of information about parties. Added to the party_member
- structure the class of each member so that the map server can do the
- appropiate checks even if the character is on another mapserver/offline.
- Due to the format changes in the party structure, txt servers will have to
- wipe their party file... (sql save format has not been changed) [Skotlex]
- * Added function char_family to check if there's a family state given the
- three character ids, instead of doing individual checks all the time.
- [Skotlex]
- * Rewrote all the item restriction functions so that they will take into
- account slotted card restrictions as well. [Skotlex]
- * Added no_skill_delay setting, when set, affected object types will have
- the minimum skill delay for all skills. Defaults to mobs, since they
- don't have skill delays. [Skotlex]
- * Cleaned up pc_equipitem. When dual wielding or equipping accessories, if
- the client actually specifies one of the two positions, it will be taken
- into account (now, does the client actually does this?) [Skotlex]
- * Fixed GrandCross and similar skills. [Skotlex]
- * FogWall will now also affect the caster. [Skotlex]
- 2006/07/05
- * Updated NJ_KAENSIN by Saycyber21 [Vicious]
- * Updated @refine to take account of MAX_REFINE, thanks to Omega... GM
- Designer. [Skotlex]
- - Also optimized the @refine loop for better performance.
- 2006/07/04
- * Fixed compile issue for NJ_BAKUENRYU, by Saycyber21. [Vicious]
- * Implemented Saycyber21's some NJ work. Untested. :D [Vicious]
- * Implemented cooking chances. Chance of success is 70% - 7*(dish-lv)% +
- 12*(cooking set-lv)%. Exception: When using the legendary cooking set,
- success chance is 100% regardless of dish. [Skotlex]
- * Added battle config setting emergency_recall, specifies behaviour of that
- skill (skill.conf): 0 - Disabled. 1 - can't be used in nowarpto maps. 2 -
- Can be used everywhere. [Skotlex]
- * Removed the NPC/Dance/Song inf2 check of AbraCadabra. whether a skill can
- come out or not is entirely decided by the abra db file now. [Skotlex]
- * Added structure s_addeffect to handle status change additions. Cleaned up
- relevant code. It is now possible to specify ANY status change, not just
- the basic ones. NOTE that the code is proof-read, but untested! [Skotlex]
- * Added support for bonus3 bAddEff/bAddEffWhenHit as follows: [Skotlex]
- bonus3 bAddEff/bAddEffWhenHit, <SC value>, <rate>, <target flag>.
- Target flag is 0: Self. 1: Enemy. 2: Both.
- * Added these descriptions to doc/item_bonus.txt [Skotlex]
- * Added a check when joining a chat to make sure the target object is of
- type BL_CHAT. [Skotlex]
- 2006/07/03
- * Cleared up the bAutoSpellWhenHit description in doc/item_bonus.txt
- [Skotelx]
- * Fixed Phantasmic Arrow and Magical Bullet not being correctly tagged as a
- ranged arrow-type attack. [Skotlex]
- * Updated help.txt and help2.txt, thanks to Inuyasha for providing the
- updated files. [Skotlex]
- * Char-server SQL won't perform the reconnect cleanup routines when
- kick_on_disconnect is disabled. [Skotlex]
- * Renamed summons_inherit_effects to summons_trigger_autospells as the
- setting now only makes the attacks of the slaves trigger the autospells of
- the master (as it should be). [Skotlex]
- * Corrected code capping no_spawn_on_player to 50 when the max should be
- 100. [Skotlex]
- * Warmth will dispel when warping now (or else the effect is left on the
- ground) [Skotlex]
- * Fixed reading of the refine_db not working right when MAX_REFINE is
- increased from 10. [Skotlex]
- * Some more cleaning to the implementation of Abracadabra [Skotlex]
- * Fixed a compile warning in login sql/txt [Skotlex]
- * Fixed pc_makesavestatus not setting your logout position. [Skotlex]
- * Fixed two dances becoming BA_DISSONANCE instead of DC_UGLYDANCE.
- [Skotlex]
- * Added the missing +100% damage modifier of Enchant Deadly Poison.
- [Skotlex]
- * Fixed SkillStatusChangeTable not working correctly for Homun/Guild
- skills. [Skotlex]
- 2006/06/30
- * Fixed a typo in msg_athena.conf, "This item cannot be drop" -> "This item cannot be dropped" [MasterOfMuppets]
- * Added a check to prevent equipped items from being traded. [Skotlex]
- * Added UF_SONG (0x400) to differentiate songs from dances. [Skotlex]
- * Added preliminar support for making a Song+Dance turn into BA_DISSONANCE
- cells. Beware of potential bugs as it's untested. [Skotlex]
- * Added mapflag "nochat" to prevent chatting rooms from being created.
- [Skotlex]
- * Corrected some of the sleep checks when the char id does not matches with
- the char-id expected by the script engine. [Skotlex]
- * Cleanup in itemheal related code, fixed the item heal group bonus not
- working on Groups beyond 7. [Skotlex]
- * Fixed pet's loot not being moved to your inventory on logout. [Skotlex]
- 2006/06/29
- * Made the map server send list of characters online to the char-server on
- reconnection regardless of "kick_on_disconnect" setting, as otherwise, a
- temporary disconnection would make the char-server tag all characters
- offline and refuse to save them afterwards. [Skotlex]
- * Fixed guild storage being "eternally in use" if you quit/logout before
- closing it. [Skotlex]
- * Ending SC_CLOAK/SC_HIDE/SC_CHASEWALK will now trigger ontouch npcs.
- [Skotlex]
- * [Fixed]
- - Scripting system screwing up script position after mixing timers with menus.
- - NPC attached AI mobs display as alive when dead.
- - View data not updating after buildin_unitdeadsit.
- [Improved]
- - NPCE_LOADMAP to execute after all (area) objects are sent to the player.
- - Simplified scripting system. sd will now use pointer to the script state itself.
- [Lance]
- 2006/06/28
- * changed:
- dynamic_pass_failure_ban_how_many:from 3 to 7
- dynamic_pass_failure_ban_how_long:from 60 to 5
- as in official servers. [Musashiden]
- * Added a check in script command "set_option" so that invoking
- "set_option(0)" removes Cart/Peco/Falcon, as expected by scripts. [Skotlex]
- * Added trade-range check on trade start. [Skotlex]
- * Added inf2 4096 (INF2_ALLOW_ENEMY) which is to be used in conjunction
- with INF2_PARTY_ONLY/INF2_GUILD_ONLY when said skill should ALSO be allowed
- to be used on enemies. [Skotlex]
- * Cleaned up a bit the code for @item [Skotlex]
- * Fixed character/storage being sent to be saved TWICE when you logged out
- while the storage is opened. [Skotlex]
- * Added save_settings map config. Specifies after which events do
- characters get saved (defaults to all): 1 - Trade successful, 2 - Vending
- transaction, 4 - Closing storage/guild storage, 8 - hatching a pet.
- [Skotlex]
- * Changed the mob drop rate adjust function to receive a signed int
- argument. Probably will fix those drops with 0% becoming 100% [Skotlex]
- * Corrected Musical Strike having a different damage equation from Throw
- Arrow. [Skotlex]
- * Added state rewarp to players. It gets set when a pc_setpos call is
- triggered while the player is changing maps so that when the player finish
- loading the map, it is inmediately rewarped to where it has been
- rewarped/recalled to. [Skotlex]
- 2006/06/27
- * Map server will now resent the whole list of online characters to
- char-server on reconnect when the kick_on_disconnect setting is active.
- [Skotlex]
- * Cleaned up and optimized the IP sync code. New login_athena config
- setting sync_ip_interval specifies how often to sync the ip. The default is
- 0 (disabled). [Skotlex]
- * Added mapflag "loadevent", now load-map script events will ONLY trigger
- on maps with this mapflag on, rather than every map. [Skotlex]
- * High Jump can now be used in all versus maps. [Skotlex]
- * Added Kaite's opt3 value, taken from jA [Skotlex]
- * Added state dirty == 2 to storages. Signals when a storage was sent for
- final saving. Said storage is removed from memory after the ack from the
- char-server, and they are sent to save if the map/char servers reconnect
- before the ack arrives. In short: they are guaranteed to be saved after a
- char logs out. [Skotlex]
- * Put pay_arche.gat in the "no experience lost" mapflag file. [MasterOfMuppets]
- 2006/06/26
- * Corrected the element of hunter traps. [Skotlex]
- * Deadly Poison now also reduces def2 by 25% [Skotlex]
- * Cleaned up a bit skill_moonlit, Moonlit Petals should work correctly now.
- [Skotlex]
- * Fixed @mi displaying always 0 instead of the mob's class. [Skotlex]
- * Rough implementation of Ground Drift according to description and jA
- info. [Skotlex]
- * Implemented Tatami Gaeshi using skill description and jA implementation
- for reference. [Skotlex]
- * Merged Mitternacht's max_heal/max_heal_lv config settings. [Skotlex]
- * Removed support of packet 0xc3 on the new packet versions. Thanks to
- Meruru for pointing out they aren't being used anymore. [Skotlex]
- * Autospells will now again check for the skill's nk value, so that skills
- tagged "nodamage" skills will not trigger autospells. [Skotlex]
- * Corrected clif_item_sub so that pet eggs will correctly be sent as
- equipment (fixes them showing up "broken" and with random refine levels)
- [Skotlex]
- * [Added]:
- - buildin_unitkill just for kicks. [Lance]
- 2006/06/23
- * [Optimized]:
- - Setting of variables with defined scope in some frequently executed script
- events.
- [Added]:
- - Missing script_require_trigger flags for some power hungry events.
- * Updated mob_db.sql and item_db.sql to latest. [Skotlex]
- * Modified pc_setoption so that it will correctly update sprite AND clothes
- color when mounting/unmounting changing into/from xmas/wedding sprites.
- [Skotlex]
- * Allowed itemdb_exists to return the dummy item. Enables "invalid" items
- to be sold, traded, dropped, etc. [Skotlex]
- * Corrected ASC_BREAKER. Int-based damage is applied after attribute fixes
- and before card reductions. The skill now completely disregards left
- hand weapon. [Skotlex]
- * Standarized PF_MEMORIZE to be 50% cast time on all skills (instead of
- -50% for targetted skills and -66% for ground skills >.>) [Skotlex]
- * Cleared up the comment on what item_check does and how it works.
- [Skotlex]
- * Changed setting for skill_nocast flag 16. It is no longer a "pk-mode map"
- setting, it's now a clone-forbidden skill. That is, skills with the flag 16
- will never be copied by clones. If you use a PK-mode server, use flag 2 now
- to forbid skills from common maps. [Skotlex]
- * Default skills from not being cloned are Magnus Exorcism and Turn Undead.
- * The map search free cell will now use the size of the map # of tries
- before giving up when the spawn area is the whole map. Added a check to
- inmediately give up when the number of spawn retries has reached the max
- specified (no_spawn_onplayer = 100). [Skotlex]
- * Cleaned up a bit the clone code to account for the unit flags
- UF_NOPC/UF_NOMOB when the skill is not ground-based (accounts for self
- skill that causes a ground-tile to be placed, like Dances). [Skotlex]
- * Added pc_bonus_autospell_del, gives support for removing autospell
- effects. When a negative rate is specified, it will decrease the chance of
- casting (eg: You have two different cards with autospell Heal +20% each,
- then do autospell -30. The second card will be cancelled, and the first one
- will become Heal +10%) [Skotlex]
- * npc_timers now will not restore the previous timer data when there's no
- players attached (when it's strictly an npc timer). This should reenable
- the old behaviour of getnpctimer returning the total ellapsed time since
- "startnpctimer" even after the last label has been reached. However, this
- behaviour won't apply to player-attached timers. [Skotlex]
- * [Fixed]:
- - MAPREGSQL overloading SQL table with temperory map registries.
- - Incorrect perfomance calculation for MAPREGSQL loading and saving. [Lance]
- 2006/06/22
- * Guessed and added support for the packets 0x22a (idle) and 0x22b (spawn).
- This should complete the required packets for PACKETVER 7. [Skotlex]
- * Added support for the PACKETVER 7 packets in the "dummy" current
- intravision implementation. [Skotlex]
- * Fixed @autoloot being off by 0.01% when entering a manual value.
- [Skotlex]
- * Restored the "Secret" behaviour of Blast Mine and Claymore Trap where
- each target is hit N times (where N is the number of mobs in the splash
- area at the moment of triggering). [Skotlex]
- * Updated the tools/stackdump script to also handle sig-plugin generated
- backtraces. Now it will also auto-determine whether the exe needs a .exe at
- the end or not. Help me test it as I want this script on stable NOW :X
- [Skotlex]
- * Usage is "stackdump <login/char/map> <txt/sql> [number]". When a number
- is given, sig-plugin stackdumps are assumed, otherwise it parses the normal
- stackdump as before. [Skotlex]
- * Corrected autoloot so that you can specify rate with decimal precision
- ("@autoloot 0.01" should work) [Skotlex]
- 2006/06/21
- * [Removed]:
- - Redundant mob name copying. (it's already copied in mob_parse_dataset) [Lance]
- * [Fixed]:
- - Compilation warnings and errors.
- [Improved]:
- - Changed and moved IP sync status messages to elaborate more. [Lance]
- * Tested and fixed resolve_hostbyname. Applied said function around most of
- the code where needed. Removed includes for the OS/network system pretty
- much from every file (our socket.c file should handle this) [Skotlex]
- * Made the GM mute request bypass the manner_system setting. [Skotlex]
- * Applied use of parse_hostbyname() in chrif.c to fix compilation errors.
- [Skotlex]
- * status_percent_change will now account for when the target's max hp/sp is
- above INT_MAX. [Skotlex]
- * [Added]:
- - DNS (WAN) sync for those pesky disconnections (dynamic ip renewal). [Lance]
- 2006/06/20
- * Some cleaning up of OPTION related code. OPTION_XMAS and OPTION_FLYING
- really ARE the same value clientside! (totally stupid), therefore I've
- opted from removing the flying animation since it really just displays as
- Xmas for others (and the correct fix involves adding a bunch of
- class-change packets...) [Skotlex]
- * Updated skill_require_db to place the Zeny requirements of ZenyNage and
- Fling. [Skotlex]
- * Fixed crash when non-players use ZenyNage. Added the correct Zeny check
- in skill_check_condition, fixed the skill so that it's damage is based on
- whatever zeny is specified in skill_require_db. [Skotlex]
- * Can-act delay will not be reset when warping now. [Skotlex]
- * Fixed Quagmire not altering walking-speed. [Skotlex]
- * Silence now blocks skills both on begin/end casting. [Skotlex]
- * Updated status_calc_bl so that when walking speed changes, the character
- is made to rewalk so that the new speed takes effect inmediately. [Skotlex]
- 2006/06/19
- * Added Ayothaya to nopenalty and nopvp mapflags. [Evera]
- * Combo-used Skills with State "move_enable" will now override the "can't
- move delay". Fixes Break-Fall -> Jump-Kick. [Skotlex]
- * Some more cleanups of battle_calc_damage to account for absorbed damage
- reductions. [Skotlex]
- * Moved back Soul Drain code from mob_dead to skill_counter_additional_effect.
- Now we are back to where the skill animation does not shows, but you DO
- get SP T.T' [Skotlex]
- * Some cleanups and corrections in battle.c to account for negative
- (absorbed) damage. [Skotlex]
- * Fixed fame-list updating crashing char-sql server when the given char-id
- just got into ranking. [Skotlex]
- * Added missing Arunafeltz maps with information from NLZ [Evera]
- 2006/06/18
- * [Fixed]:
- - Typo in status.c add_sc() using 'skill' instead of 'sk' as index, resulting in
- filling the SkillStatusChangeTableArray with junk data.
- - > NEEDS CONFIRMATION < Ends casting if player is knocked with freezing/stun/whatever
- - Typo in parse_frommap. [Lance]
- * [Fixed]:
- - clif_initialstatus using SHRT_MAX instead of USHRT_MAX for status_point.
- * [Temperory Fixed]:
- - Crashing of SQL char-server in parse_frommap case 0x2b01. [Lance]
- * [Removed]:
- - Large part of scripted mob control commands are removed.
- - Large part of scripted player control commands are removed.
- - Scripted mob slaves changing master ID.
- [Added]:
- - Unit control commands.
- - CALLBACK_NPCCLICK for scripted mobs, added this to db/const.txt too.
- - Macro RECURSIVE_MASTER_CHECK in battle.c
- [Modified]:
- - buildin_skilluseid and buildin_skillusepos -> buildin_unitskilluseid
- and buildin_unitskillusepos.
- - md->callback_flag to short (double word). [Lance]
- 2006/06/17
- * Devotion absorbed damage will now appear to come from oneself (instead of
- the original attacker changing directions towards the Crusader) [Skotlex]
- * Updated clif_refres to send inventory, cart, and weight info. [Skotlex]
- * Fixed intif_guild_memberinfoshort to not leave a dangling pointer when
- someone logs out <.< [Skotlex]
- * Changed some mapflags related to the eye of hellion quest. [MasterOfMuppets]
- * [Added]:
- - buildin_checkcell, buildin_mobwarp, buildin_pcattack.
- [Improved]:
- - buildin_skilluseid and buildin_skillusepos to accept a few more arguments.
- - mob_script_callback to return sucess value [Lance]
- * Fixed the party HP packets to send max HP 10000 and scale HP accordingly
- when the player's HP doesn't fits in the packet's field. Fixes HP bars not
- correctly displaying the % of life when max HP is above 32k. [Skotlex]
- 2006/06/16
- * Fixed option value being reset'ed on login (fixes cart/peco/falcon being
- lost) [Skotlex]
- * Corrected @speed to alter your base speed instead of battle one. Means
- the change remains for much longer (until status_calc_pc is invoked, which
- could be due to equipping/unequipping stuff) [Skotlex]
- * Modified the bNoMagicDamage/bNoWeaponDamage bonuses to be a 0-100
- setting. Meaning you can do bonus bNoMagicDamage,50; To make all magic
- damage be reduced by half. This bonus stack, so two cards with
- bNoMagicDamage,50 will give magic immunity. [Skotlex]
- * Removed setting gtb_pvp_only and replaced it with gtb_sc_immunity which
- specifies the threshold before the bNoMagicDamage starts blocking support
- statuses as well. ie: gtb_sc_imunity: 75 will mean that "bonus
- bNoMagicDamage,70;" reduces magic damage by 70%, but does not blocks heal
- or support status, while "bonus bNoMagicDamage,80;" does. [Skotlex]
- * Removed db_tables.sql as it's no longer used. [Skotlex]
- * the mvp_sd is removed when the mob is the emperium and there's no
- killer/exp-awarded (assumed killed by script), this prevents the on-kill
- event from triggering and giving the castle to whoever damaged the most the
- emperium without destroying it. [Skotlex]
- * [Added]:
- - Custom slave mobs to inherit the callback_flag.
- - Added option #25 to buildin_setmobdata to set the callback_flag. [Lance]
- * [Improved]:
- - Cleaned up Custom Mob Script Callback codes. Looks much better now :B. [Lance]
- 2006/06/15
- * [Fixed]:
- - intif_parse_RenamePetOk for not compatible with ANSI-C initialzation specification.
- [Lance]
- * Added indexes for loginlog and ipbanlist as they did not have any.
- (note, someone already put the index on loginlog on trunk.) [Euph]
- * Merged Adam's patch to let the char-server handle validation of
- pet-name-change requests through the allowed char letters config. [Skotlex]
- * Fixed "wedding_ignore_palette: yes" not working when relogging with the
- gear already equipped. [Skotlex]
- * Added blocking of the Kick skills when you are a Soul Linker. [Skotlex]
- * Added enabling to turn off a kick-stance regardless of class. [Skotlex]
- * Altered a bit how status_set_viewdata behaves in regards to Wedding/Xmas
- options. [Skotlex]
- * Added back OPTION_XMAS, but the actual value is missing! [Skotlex]
- * Corrected chrif_save so that the player is not set offline on map-change.
- [Skotlex]
- * Added change-look support in pc_setoption when specifying OPTION_XMAS
- [Skotlex]
- * Fixed clif_parse_RemoveOption removing all options instead of just
- Falcon/Cart/Peco [Skotlex]
- * Fixed clif_send not sending packets to SELF when specifying AREA if the
- source is not on the map yet. [Skotlex]
- * Fixed and cleaned up script command 'equip' [Skotlex]
- * Fixed 'autoequip' items. [Skotlex]
- * Fixed Aspd not being updated in your status window after Agi/Dex
- increasing statuses take effect. [Skotlex]
- 2006/06/14
- * Fixed map_nick2sd so that searching for "Adam" will not match a char
- named "Adam Smith". Thanks to Adam for reporting it out. [Skotlex]
- * Modified how luk reduces status changes by reducing the gap. Eg: resist =
- vit; resist += (max - resist)*luk/300; [Skotlex]
- * Added battle settings pc_max_sc_luk/mob_max_sc_luk to handle which is the
- luk threshold at which you gain inmunity (defaults to 300). [Skotlex]
- * Fixed buildin_getmobdata. It was trying to handle the first parameter as the
- array to fill in. [blackhole89]
- * Blocked again skill usage during marionette. [Skotlex]
- * Fixed main.sql adding a key on char_id rather than account_id for the
- char table. [Skotlex]
- * Cleaned up character saving in char-sql, it no longer needs to query the
- database to see if the player exists on each char-save, instead it checks
- the received data against the online-players db. No such fix is required
- for char-txt. [Skotlex]
- * Added an error message on the char-server when the received player data
- size does not matches with the expected size (should avoid the crash that
- happens on such a memcpy). [Skotlex]
- * [Improved]:
- - script_save_mapreg for MapregSQL Saving to display perfomance only in slow
- queries. [Lance]
- 2006/06/13
- * Updated mob_db.sql and item_db.sql to latest. [Skotlex]
- * Added account_id index to char table. Thanks to Buuyo for reporting it.
- Sql users apply upgrade_svn7146.sql NOW. [Skotlex]
- * Marionette and Devotion will now check raw distance and ignore obstacles
- and the like. [Skotlex]
- * Added irc_channel_pass setting and prevent crashing when irc server
- lookup by host fails. Thanks to Trancid for the details. [Skotlex]
- * [Fixed]:
- - clif_parse_GetCharNameRequest displaying false alarm for legitimate GM snooping.
- [Lance]
- * Added support for reading correctly status change data from Guild and
- Homun skills. [Skotlex]
- * Added support for reading Homun skill data (which means the HM skills are
- now safe to add to skill_db, skill_require_db, etc) [Skotlex]
- * Oppositions can't be made during WoE now. [Skotlex]
- * Fixed a few compiler warnings from VC [Skotlex]
- * Commented out the Homunculus Skills<->Status Change link which was
- causing some memory corruptions. [Skotlex]
- 2006/06/12
- * [Fixed]:
- - buildin_npcshopitem not allocating extra 1 block of terminator.
- [Added]:
- - Modified versions of Dj-Yhn's buildin_npcshopdelitem and buildin_npcshopadditem
- [Lance]
- * Updated clif_disp_onlyself to not use dynamic memory and write directly
- to the player's buffer. [Skotlex]
- * Updated @noask to also tell the user what he has just rejected (added
- msg_athena entries for each of the different requests). Also updated it to
- use clif_disp_onlyself. [Skotlex]
- * Fixed a pair of missing initializers in the clif storage functions.
- [Skotlex]
- * @heal no longer displays a healing animation. Fixes the client believing
- you couldn't be healed more than 32K. [Skotlex]
- * Now you can use any skills (except encore/dancing ones) while under
- Longing for Freeding. [Skotlex]
- * Now you can use any skills while under Marionette Control. [Skotlex]
- * Fixed npc_checknear's distance check returning the opposite of what it
- should (false when the range is correct and viceversa) [Skotlex]
- * Added a warning on item loading when an item is of equippable type but
- has no equippable position. [Skotlex]
- * Turning an alliance to an opposition won't work now during WoE [Skotlex]
- * Slaves can summon other mobs now. The only ones who can't do this are
- player summoned mobs. [Skotlex]
- * Merged the following functions for faster processing of items: [Skotlex]
- clif_storageitemlist + clif_storageequiplist = clif_storagelist
- clif_guildstorageitemlist + clif_guildstorageequiplist = clif_guildstoragelist
- clif_itemlist + clif_equiplist = clif_inventorylist
- Note that the changes are a bit substantial and need proper testing!
- * Increased max knockback value support to 25. [Skotlex]
- * [Optimized]:
- - buildin_npcshopitem memory allocation to calculate before reallocating.
- [Lance]
- * Made guild member exp an unsigned int. [Skotlex]
- * Various cleanups to the npc clicking related functions. Should fix quite
- some possible crashes from crafted packets. [Skotlex]
- * Added overflow checks for bonus settings mdef_rate/def_rate. [Skotlex]
- * Added missing update of INT after a buf. [Skotlex]
- * Small cleanup of how SC_BLEEDING works. [Skotlex]
- * Fixed party_foreach_samemap invoking the function on the CASTER instead
- of on the party members. [Skotlex]
- * Modified clif_parse_NpcClicked to handle the different situations with
- different bl-objects (attack on players/mobs, click on npcs or mobs with
- npc attached) [Skotlex]
- 2006/06/09
- * [Fixed]
- - Compilation warnings on guild.c and int_guild.c [Lance]
- * Added structure party_data and party_member_data to the map server to
- hold party-specific required information about parties including
- Monk/TK/SG/SN states and party member count. Family information is still
- missing, and handling of the state should probably be done by the
- char-server, too... [Skotlex]
- * party Hp updates are no longer done each time the Hp is modified, but
- together with the party xy timer. It means HP-bars will be a bit delayed
- before being updated, but packet consumption should be much less during
- heated battles. [Skotlex]
- * Fixed MoM's typo [Vicious]
- * Fixed map_readafm missing strcpy(afm_name, m->name). [Skotlex]
- * [Improved]:
- - npc_click interception on BL_MOB and BL_PC to let sd act accordingly.
- [Lance]
- * [Fixed]:
- - Execution of sleep/sleep2 more than once will hang the script_state.
- [Lance]
- * Fixed @mapinfo displaying incorrectly maps with nosave which send you
- back to your last savepoint. [Skotlex]
- * Moved guild_exp_rate from a mapserver battle config setting to a char
- server config. It no longer modifies the total taxed exp as seen on the
- guild information window, but directly modifies the exp that the guild
- earns. [Skotlex]
- * Added an error report and correction when the map server receives a guild
- from the char-server with more guild members than MAX_GUILD. [Skotlex]
- * Changed the interval between waterballs back to 125 [MasterOfMuppets]
- * Fixed a typo in char_sql/char.c, thanks to Euph [MasterOfMuppets]
- 2006/06/08
- * Modified guild exp to be an unsigned int rather than a signed one.
- [Skotlex]
- * Fixed @skilltree printing out Unknown job for most targets used.
- [Skotlex]
- * Cleaned clif_pvpset to not send the packet to nearby characters when the
- source is GM-hidden. May help fix the crash on PvP with gm-hidden
- characters. [Skotlex]
- * Modified map_freeblock_unlock so that aFree errors will report the
- file/line that INVOKED the function rather than the function itself.
- [Skotlex]
- NOTE: Do NOT disable the memory manager as that will break this change.
- This change is to be temporarily set until the afree'd error can be
- resolved.
- * Updated mob_npc_warp to a three-state config switch. 0 disables. 1 enable
- only on warps that don't lead to nobranch maps. 2 - enable on all warps.
- [Skotlex]
- * Adjusted Don't Forget Me, Defender, Longing to use all val entries, and
- to hold the speed adjustment value rather than speed penalty (eg: 125
- instead of 25). [Skotlex]
- * Cleaned up status_calc_speed so that speed penalties are correctly
- handled (eg: 25% penalty is speed*100/75, not +speed*25/100). Thanks to
- Euph for pointing it out and Belle for the speed mechanics. [Skotlex]
- 2006/06/07
- * Fixed Sense using mdef instead of mdef2 [Skotlex]
- * Fixed item-skills not showing up on login. [Skotlex]
- * Cleaned up clif_parseLoadEndAck, by testing which packets are required
- only on first-login and which ones are required on all map-changes.
- Skill-tree, Exp, Skill Points and most of the basic status are no longer
- sent on map-change (items, cart data and zeny still need to be sent one
- very map-change). [Skotlex]
- * Fixed the mob state not being set to Berserk/Angry correctly after the
- mob reaches the target's location. [Skotlex]
- * Added config setting mob_npc_warp, when set to yes, enables mobs to be
- warped between maps when stepping on a npc-warp. [Skotlex]
- * Added monster_ai setting &64, when enabled makes a mob run to any nearby
- npc-warp when their current target has switched maps. [Skotlex]
- * Added pc_calcexp to calculate individual exp bonuses acquired from exp's
- source (race bonus cards, SG Exp skills, pk-mode higher level exp) [Skotlex]
- * pc_gain_exp now also receives the source of the exp, when said source
- exists, bonuses are applicated as needed. [Skotlex]
- * Added status_kill when capturing a mob, should take care of the mob not
- respawning after caputed. [Skotlex]
- * Fixed item info not displaying the found item id [Skotlex]
- * Fixed item info not displaying the weight value properly. [Skotlex]
- * Adjusted status resistances and durations taking as base Viccious's info
- from the kro guidebook. [Skotlex]
- * Moved souldrain code from skill_counter_additional_effect to mob_dead. It
- should display the skill animation correctly now. [Skotlex]
- * Adjusted several sc rate/time reductions as pointed out by Playtester.
- [Skotlex]
- - Luk now plays a luk/10 reduction role rather than a luk/3 one.
- * Removed char_nick2id from char-sql server as it's no longer needed.
- [Skotlex]
- * Fixed quitting the map server not properly saving the storage before
- deleting it. Thanks to Adam for pointing it out. [Skotlex]
- * Cleaned status_get_sc_tick/status_get_sc_def to use the status_data
- function. [Skotlex]
- * SC_STOP's chance and duration can't be reduced anymore. [Skotlex]
- * Storm Gust no longer has a 100% chance to freeze by passing mdef, now it
- has a 300% base chance reduced by mdef and the like as explained out by
- Tharis. [Skotlex]
- * Frost Diver/Frost Nova's base freezing chance is no longer affected by
- target's int. [Skotlex]
- * [Improved]:
- - mob_dead not to remove script controlled monsters with player sprites.
- [Added]:
- - buildin_mobdeadsit :D [Lance]
- * [Fixed]:
- - temp++ gets issued before if(mvp_damage<(unsigned int)md->dmglog[i].dmg) in
- mob_damage. Thanks to seahorsix. [Lance]
- * [Fixed]:
- - Corrected login-server SQL to use *((ulong *)p) instead of (ulong)p [Lance]
- * [Optimized]:
- - list and size not being initialized (size get intialized in default: switch case)
- Eliminated default case and initialized list and size at the beginning. [Lance]
- 2006/06/06
- * Hopefully fixed for sure mobs getting extra stats when changing-class due
- to the mobs level up setting. [Skotlex]
- * Removed a piece of code that should no longer be needed due to the
- combo-skill setting (inf = self, inf2 = no-target-self) which is blocking
- self-skills from being used on others (pets/mobs should be allowed to do
- that) [Skotlex]
- * Added a status_check_skilluse call in Sightblaster to prevent it from
- hitting hidden/cloaked/act-dead/etc players. [Skotlex]
- * Fixed firewall counter going down by 2 each hit rather than 1. [Skotlex]
- * Fixed Soul Burn not zapping away all SP. [Skotlex]
- * The monsters can level up setting will not take effect when the mob's
- level is LESS than their db counter-part (should prevent under-leveling
- causing underflows and semi-immortal mobs) [Skotlex]
- * Fixed mvp-exp calculations being messed up with more than one attacker.
- [Skotlex]
- * Changed the mob exp race bonus so that each player gets their own bonus,
- rather than the killer's bonus applying to everyone. Still not the
- "correct" way, but one step closer to it. [Skotlex]
- * [Fixed]:
- - Allocation of event_list in guild_npc_request_info to aCalloc so
- memcpy(ev->name,event,strlen(event)) will have a null terminator. [Lance]
- 2006/06/05
- * Fixed a crash when using SL_SMA and the "combo" ain't ready. [Skotlex]
- * Hopefully fixed changing a mob's class causing them to get all sort of
- stat bonuses due to the mobs-level-up setting. [Skotlex]
- * Changed hit, flee, cri, flee2, def2 and mdef2 to signed short, def, mdef
- to signed char to correctly account for cards with penalties in said stats.
- [Skotlex]
- * Fog of Wall won't affect the caster now in any way. [Skotlex]
- * Added clif_fixpos packets before attacking for the first time to clear
- any position sync issues with the client. [Skotlex]
- * Fixed skill_unitsetting using layout->count for the for instead of
- group->count [Skotlex]
- * Added SC_INCDEXRATE/SC_INCAGIRATE. NPC_POWERUP/NPC_AGIUP now correctly
- increase dex/agi by 40% per level. [Skotlex]
- * Fixed char-sql server not deleting character variables when deleting a
- char. [Skotlex]
- * Corrected cloaking not ending on attack if you are near a wall. [Skotlex]
- * Updated pc_bonus to use cap_value on all status_data modifiers to prevent
- overflows/underflows. [Skotlex]
- 2006/06/03
- * Fixed @mi/@mobinfo not showing the name collumns correcly [shadow]
- * Solved the bug that made firewalls only castable a few times until [MasterOfMuppets]
- you relogged. Thanks to Euph for the fix.
- * Added variable other_mapserver_count to chrif.c which holds total count
- of connected map-servers. By using this we prevent sending unnecessary
- packets to the char-server when there's no more map-servers connected.
- [Skotlex]
- - Affected packets are whispers, announces, party messages, guild messages.
- 2006/06/02
- * Fixed Visual Studio 7.1 Solution File (Login TXT and Map TXT were removed)
- * Fixed a bug in unit_can_reach_bl which breaks path seeking when the
- target is near obstacles. [Skotlex]
- * Updated offensive use of Sanctuary to function like on the official servers [MasterOfMuppets]
- * Changed the interval between waterballs from 150 to 250 milliseconds [MasterOfMuppets]
- * Corrected clif_parse_takeitem to ALWAYS return a NAK packet when it
- fails. Fixes cases where the client gets "stuck" and refuses to let you
- pick any items. [Skotlex]
- * Removed the walk delay from firewall and changed its knockback [MasterOfMuppets]
- to 1 tile to make it act more like in the official servers.
- * Some cleaning of the mob slave ai. [Skotlex]
- * Corrected Brandish Spear to work on levels above 10. [Skotlex]
- * Updated Two-HandQuicken, One-HandQuicken to give 30 +2*lv% aspd-rate for
- skill levels above 10 (meant for boss casted skills) [Skotlex]
- * Fixed Spear-Quicken messing with the calc_flag [Skotlex]
- * Fixed Freeze/Stone/Benedictio not changing your elemental LEVEL to 1.
- [Skotlex]
- * [Fixed]
- - Yet another compilation warning. [Lance]
- 2006/06/01
- * Altered status_calc_pc so that equipment scripts are ran before
- card-scripts. [Skotlex]
- * Fixed pc_bonus to not underflow/overflow when adjusting def/mdef.
- [Skotlex]
- - These two together, should fix Tao Gunka Card.
- * npc_debug_warps() will now be invoked if warp_point_debug is set.
- [Skotlex]
- * Updated item_db.sql/mob_db.sql to current. [Skotlex]
- * Fixed NPC_SELFDESTRUCTION not showing nor dealing damage. [Skotlex]
- * NPC_TRANSFORMATION/NPC_METAMORPHOSIS will now preserve the original mob
- without removing it when the skill level is greater than one. [Skotlex]
- * Added SC_DANCING declaration in the Status Change tables to signal it
- modifies Walk speed. [Skotlex]
- * Fixed pc_damage setting your canlog_tick even if the damage has no source
- (eg: poison, berserk) [Skotlex]
- * Berserk's aspd bonus now stacks with other aspd bonuses, but is still
- affected by Quagmire/Forget-me-not. [Skotlex]
- * Corrected setting slaves_inherit_mode to not apply to morphosis skills.
- [Skotlex]
- * Corrected pc_setoption to invoke status_calc_pc when getting/removing the
- cart. [Skotlex]
- * Fixed @mobinfo displaying the wrong element. [Skotlex]
- * Fixed Autoblitz taking into account target's luck rather than attacker's
- [Skotlex]
- * Fixed slaves warping endlessly to their master when the master-slave
- distance exceeds 30. [Skotlex]
- * SC_ORCISH will now be dispelled on logout (if debufF_on_logout is set)
- [Skotlex]
- * Removed attackrange/attackrange_ from TBL_PC, corrected clif.c using the
- incorrect range variable. [Skotlex]
- * You can now equip/unequip stuff while the storage is open. [Skotlex]
- 2006/05/31
- * Fixed Soul Drain not really giving you SP [Skotlex]
- * [Fixed]:
- - Suppressed compilation warning in chrif.c [Lance]
- * [Fixed]:
- - Guys can't go across map-servers :( [Lance]
- * [Fixed]:
- - Restoration and saving of sd->npc_id must be done every time. [Lance]
- * Added back the Freeze/Petrify adjustments of -50%def and +25%mdef (when
- where these lost?). Thanks to Buuyo for pointing it out. [Skotlex]
- * Corrected the mob_ai&2 setting triggering rude-attacked due to can't walk
- delay. [Skotlex]
- * Made the char_name_option char_athena.conf setting apply to parties and
- guilds as well. It cannot be applied to pets yet without adding a
- change-name-request interserver packet. [Skotlex]
- * Moved the JOB_* defines from map.h to mmo.h, update char.c to use them.
- [Skotlex]
- * Added function char_read_fame_list for famelist reading. Invoked it on
- init, and made it be sent automatically to connecting map servers.
- [Skotlex]
- * Some cleaning of the fame-list reading code. [Skotlex]
- * Some cleaning of the fame-update code, fixed a logic bug which made the
- ranking list fail to display the correct ranker names. [Skotlex]
- * Removed typedef bool from socket.h and included cbasetypes.c instead.
- [Skotlex]
- * Cleaned up and corrected the calculation of hit/flee/cri/lucky dodge in
- status_calc_bl. [Skotlex]
- * [Fixed]:
- - Incorrect SQL syntax in login.c (missing collumn) [Lance]
- * [Improved]:
- - SQL upgrade file for the new loginlog. Thanks to ultramage. [Lance]
- * [Fixed]:
- - nullpo in pet.c caused by equipping without checking if the pet is available.
- [Lance]
- * [Fixed]:
- - Latest client support completed! [Lance]
- * [Fixed]:
- - Missing #include for cbasetypes.h in login server SQL.
- - Logic errors in run_script [Lance]
- * [Added]:
- - Partial support for latest login packet. But it seems to have a new security
- module. [Lance]
- 2006/05/30
- * [Improved]:
- - Fake NPC interface to use real NPCs.
- - Scripting interface to restore and save sd->npc_id. [Lance]
- * Added function pc_check_skilltree for checking if you unlocked new
- tree-skills when raising non-passive skills. [Skotlex]
- * Fixed flee/hit calculation in status_calc_bl to account for bonuses from
- the base status. [Skotlex]
- * [Fixed]:
- - Compatibility problems in login.c [Lance]
- * Fixed pets ignoring can-act delays for skill usage. [Skotlex]
- * [Added]:
- - Mercenary.c in VS.NET 2005 project files
- [Improved]:
- - loginlog using unsigned long `ip` field.
- (Please check for compatibility problems). [Lance]
- * Fixed status_calc_pc not zero'ing ALL vars it should, allowing certain
- bonuses (like effect-on-hit) to stack. [Skotlex]
- * slaves inherit speed setting will now work regardless of whether the
- slave or master has the MD_CANMOVE mode bit. [Skotlex]
- * Call Slave now invokes slaves on a 5x5 area around master. [Skotlex]
- * AL_TELEPORT will fail when used by slave mobs. [Skotlex]
- * Added NPC_ENERGYDRAIN, NPC_MENTALBREAKER to the list of undodgeable
- attacks. [Skotlex]
- * Fixed status_damage not setting your HP to 0 when you died [Skotlex]
- * Fixed the pcbonus2 warnings using the wrong value before printing the
- invalid Element error. [Skotlex]
- * Fixed underflow issues when calculating dmotion. [Skotlex]
- * Fixed Absorb Spirit Spheres [Skotlex]
- * Added battle_config min_chat_delay (default 0, battle/client.conf)
- specifies in ms what is the min delay between player sent chats
- (whisper/global/party/guild). Messages that exceed this threshold are
- silently ignored for now (perhaps need to add a "DON'T SPAM" reply to the
- player?) [Skotlex]
- * [Fixed]:
- - signed/usigned problem in sprintf and fscanf @ mercenary.c [Lance]
- * Rewrote/cleaned up @petfriendly. [Skotlex]
- * Cleaned up final part of status_calc_pc (flags 2/4 do not exist) [Skotlex]
- * Updated attr_fix_table reading code to account for ELE_MAX (will
- correctly read bigger elemental tables if ELE_MAX is changed) [Skotlex]
- * Aggressive mobs will now use battle_check_range rather than mob_can_reach
- to decide whether to lock-on or not to a target within sight-range. [Skotlex]
- * Added warnings in mob_readdb when the mob's element is invalid. [Skotlex]
- * Added error messages in pc_bonus* functions when an invalid element is
- passed to the relevant bonuses. [Skotlex]
- * [Optimized]:
- - clif_specialeffect to use the enums.
- [Improved]:
- - buildin_specialeffect and buildin_specialeffect2 to accept effect area
- definition. [Lance]
- * [Added]:
- - Visual Studio .NET 2003 includes for mercenary.c [Lance]
- * Removed the on-die specific code from unit_remove_map and placed it on
- the corresponding *_dead functions. unit_remove_map should never assume the
- char died, it is just a "remove from map" function. [Skotlex]
- * Updated status_damage to handle the general death code (clearing status
- changes, clearing skill related data, sending death packet, etc). The
- return value from the *_dead functions will tell it what to do or not with
- the object (death aborted, clear it from map/memory, etc) [Skotlex]
- * Cleaned up pc_dead to take advantage of the fact that status changes are
- not ended until after the function. [Skotlex]
- * Disabled ontouch npcs triggering on hidden/chase-walk characters.
- [Skotlex]
- * Updated/adapted current Homun code to use the status_data update.
- [Skotlex]
- * Updated map-server Makefile to compile mercenary.* files. [Skotlex]
- * [Fixed]:
- - Pets attacking even master is dead. [Lance]
- * Fixed battle_calc_weapon_attack damage capping damage to a minimum of 0
- (negative values should be allowed when attack is absorbed by target's
- element) [Skotlex]
- 2006/05/29
- * [Fixed]:
- - Missing ';' in item #4358 [Lance]
- * [Fixed]:
- - Missing maps in map index database. [Lance]
- * [Fixed]:
- - Battle mechanics in battle_check_target [Lance]
- * [Fixed]:
- - Typo in mob_dead causing crash. Thanks to reddozen and his gang for testing.
- [Lance]
- * Cleaned up friend list saving and fixed loading of friends.txt file
- (char-txt) [Skotlex]
- * Added the Arunafeltz maps, not tested yet [Playtester]
- - someone with an up-to-date client should test them
- * Fixed pc_gainexp resetting your exp to 0 rather than adding it in...
- [Skotlex]
- * Corrected aspd calculation code to avoid negative overflows. [Skotlex]
- * Fixed battle_check_target check on BCT_ALL to check versus BL_CHAR
- instead of BL_PC and BL_MOB [Skotlex]
- * [Fixed]:
- - Declaration of int map_getcellp(struct map_data*,int,int,cell_t); [Lance]
- * Removed Undead being immune to poison status. [Skotlex]
- * Removed speed penalty from SC_SKA [Skotlex]
- * Fixed SC_SPURT triggering on Soul Linkers. [Skotlex]
- * SC_DODGE won't be dispelled on death now. [Skotlex]
- * [Fixed]:
- - pc_follow_timer possible triggering crash.
- - pc_reg_received to use battle_status.hp instead of status.hp
- [Added]:
- - macro map_id2index for non-cyptic mapid to mapindex conversion. [Lance]
- * Added a division by zero check in mob_dead to prevent the (impossible)
- case where a mob dies with received damage of zero. [Skotlex]
- * Modified skill_get_range2 to return range 9 for skills with range 0 for
- Non-Players. This usually signals Self skills, and mobs/pets should be able
- to use them in other characters. [Skotlex]
- * Optimized a bit the SC_PROVOKE code (to use val3/val4) [Skotlex]
- * Fixed draining when the amount drained is negative (invoke zap rather
- than heal) [Skotlex]
- * Implemented GS_FLING as per the current skill description. [Skotlex]
- * Fixed pc_readparam/pc_setparam to use battle_status.hp/sp rather than
- status.hp/sp, fixes scripts reading the wrong Hp/Sp values [Skotlex]
- * Added some missing SC_* entries on the initial listing (potion related
- and speed up ones) [Skotlex]
- * Fixed function declaration of map_getcellp() [Skotlex]
- * [Fixed]:
- - status.c:920: warning: 'mbl' might be used uninitialized in this function
- - skill.c:6648: warning: 'matk_min' might be used uninitialized in this function
- - skill.c:6648: warning: 'matk_max' might be used uninitialized in this function
- - skill.c:2826: warning: 'sid' might be used uninitialized in this function [Lance]
- * [Optimized]:
- - Removed unused variable (account_id) in storage_guild_storagesaved.
- * [Optimized]:
- - Removed unused checks for unsigned data type and possible logic error for
- char type (gcc treats char as unsigned). [Lance]
- * [Fixed]:
- - Relogging in with 0 HP didn't trigger dead event. [Lance]
- 2006/05/28
- * Added functions status_revive, pc_revive and mob_revive to handle revival
- (it doesn't handles player respawning, though). Fixed reviving @ commands.
- [Skotlex]
- * Added SC_BLADESTOP to the skill enum at the beginning of status.c (fixes
- Bladestop causing an unknown status change message). [Skotlex]
- * Fixed MSS_DEAD state skills not triggering. [Skotlex]
- * Changed undeads to by default always sustain 100% of the damage from firewalls [MasterOfMuppets]
- * [Fixed]:
- - script functions that doesn't pass references, thanks to End_of_exam. [Lance]
- * [Protected]:
- - clif_parse_LGMmessage from possible hacks [Lance]
- * Fixed unable to store n items into storage unless n was the total amount
- of items you had. [Skotlex]
- * Suppressed compilation warnings (unsigned and signed mismatches) [Lance]
- 2006/05/27
- * Added structure status_data which holds status-related information (str,
- agi, etc, speed, amotion, adelay, dmotion, weapon-damage, race, size, etc)
- and weapon_atk structure with the weapon specific info (atk, atk2, element)
- to be used by all combat structures (TODO: Homun needs to be updated to use
- it). This in change involves a LOT of changes throughout the code and many
- optimizations were done as well. Partial list (see svn changelog for complete
- changes): [Skotlex]
- - NOTE: Changes are substantial! I tested a bunch of stuff and all the
- skills I changed the most, but it is possible there are unnoticed bugs
- remaining to fix!
- - Cleaned up TBL_PC, TBL_MOB, TBL_PC and mob_db structures to use status_data.
- - Split damage received functions into pc_damage/pc_dead and mob_damage/mob_dead
- - Added status functions to deal with damage and healing (status_damage,
- status_heal, status_percent_change) and a bunch of defines for easier
- handling of them (status_percent_heal, status_percent_damage,
- status_fix_damage, status_kill, etc). Objects must be hurt/healed through
- THIS, pc_damage/mob_damage most no longer be directly invoked!
- - Rewrote and cleaned up battle_calc_misc_attack
- - Merged config options pc_attack_attr_none, mob_attack_attr_none,
- pet_attack_attr_none into attack_attr_none (type 4)
- - Removed config options player_defense_type, monster_defense_type,
- pet_defense_type in favor of weapon_defense_type
- - Modified skill_calc_heal to take into account the MEDITATION bonus.
- - Modified Slim Pitcher so it will work when casted by non-players. Will
- now also work with SP-healing items.
- - Rewrote Freedom of Cast code to use function status_freecast_switch to
- switch adelay/speed when cast begins/ends.
- - Modified Magic Power to store amplified MATK/MATK2 in val3/val4 for
- easier updating when used in conjunction with ground skills.
- - Fixed Asura Strike being usable from within a combo regardless of combo skill.
- - Added status_calc_bl which does status-change related calculations using
- as base the base_status of the bl object and the SCB_* flag passed. This is
- invoked on status changes, and status_calc_pc will no longer be invoked
- (which results on much faster status-change calculations).
- - pc_clean_skilltree will now also remove item-granted skills.
- - Learning skills will now only invoke status_calc_pc when the skill is passive.
- - Cleaned up pc_check_base/job_lvup to only invoke the lv-up related
- packets and functions ONCE regardless of skill-levls earned.
- - Cleaned up pc_ regen related functions.
- - Made player-sprite mobs have item pickup animation and walkdelay when taking items.
- - Clones will copy a player's base status rather than battle status (so
- status-change alterations are not cloned)
- 2006/05/26
- * Part B of the homunculus code. [blackhole89]
- While most of the homunculus handling functions are in now, it still lacks
- code required for players to create it.
- Given I haven't screwed up, you could master yourself one through the DB though.
- * Fixed crashing in mob.c [Lance]
- * Patches to allow everything to work right. + 1 more sample script. [Lance]
- * Mob control engine tested 99% working so far. [Lance]
- * Change scripting engine's NPC scope vars to dot (.) style.
- * Improved and (should be fully) fixed the mob control engine. [Lance]
- * Fixed typos in char.c [Lance]
- * Rewrote fame rank lists system to reduce char-server load, as requested by
- Skotlex: now it has a copy of those lists, and updates only the proper one
- when needed instead of rebuilding all from saves everytime (which required
- to always save the character before rebuilding the lists) [DracoRPG]
- - Note it hasn't been compiled nor tested with SQL, please do it for me
- 2006/05/25
- * Simplified ASC_BREAKER by making it a BF_WEAPON attack with an additional
- int-based damage component (which is added right before elemental
- modifiers) as described by AuronX. Pending further refining. [Skotlex]
- * Resolved differences between Stable/Trunk msg_athena.conf. [Lupus]
- Fixed atcommand @request MSG numbers accordinly.
- On adding new MSG strings, plzm reserve them in STABLE msg_athena.conf, too
- * Added NoVending mapflag. You may disable vending in the streets [Lupus]
- * Increased capacity for Account Variables to 64 [Skotlex]
- * Reverted Intravision implementation to that of stable's. [Skotlex]
- * Corrected Login Server taking it's first argument as both login config
- and lan config. [Skotlex]
- * Fixed mob control commands.
- * Fixed memory leak in scripts (again). Still have a few lying. [Lance]
- 2006/05/24
- * Fix to the slave AI problem. [erKURITA], by [Skotlex], reported by Niktout.
- * Item sharing now shares the same rules as exp sharing (no sharing when
- dead, or idle, etc) [Skotlex]
- * Fixed summoned slaves being able to cast onspawn summon-skills (slaves
- aren't supposed to be able to call minions) [Skotlex]
- * The clif_skill_poseffect packet will not be invoked in Snap unless the
- skill was successful. May fix the client-position lag. [Skotlex]
- * Merged item_db.sql from stable (the one from stable was more recent than
- the one of trunk...) [Skotlex]
- * Corrected SL KA* spells not working on other Soul Linkers. [Skotlex]
- * Corrected a pair of incorrect sql query parsing logic in the login-sql
- ban request packet. [Skotlex]
- 2006/05/23
- * Corrected mob angry mode, now it only "restores" itself after being hit
- when the mob has no target within their range of sight rather than on
- picking a new target. [Skotlex]
- * Fixed wedding sprite where it would stay active after unequipping. [Zido]
- * Some cleanup of run_script, should fix the memory leak there. [Skotlex]
- * the charname request hack message has been downgraded to only include
- GM-invisible characters. [Skotlex]
- * corrected clif_charnameack to send negative ID when a disguised player
- asks for it's own disguised name. [Skotlex]
- * Cleaned up the disguised target-id checks taking into considering that
- the only character that sees a negative ID is the same disguised character.
- [Skotlex]
- * Modified battle_calc_weapon_attack to use new flags pdef/pdef (pierce
- defense), Investigate and Icepick will now use the final def/vit-def values
- rather than the base ones. [Skotlex]
- * The move-enable condition checks for skills are now checked for only when
- on skill use, not at cast-end time. [Skotlex]
- * Corrected clif parse name request failing on disguised characters [Skotlex]
- * Corrected Soul Drain draining from all non-ground-based skills including
- non-magic attacks. [Skotlex]
- * Corrected pc_setoption to change the option and then change class.
- changing option-wedding will automatically convert the view-class as well.
- [Skotlex]
- * Corrected the 15% drop rate increase when killing higher level mobs in
- pk-mode triggering for all mobs with lower level than yourself. Thanks to
- Vayu. [Skotlex]
- * Fixed typo (this time it's not my fault) in script_reload() clearing the same
- db each time o_o [Lance]
- * Fixed sleep command. [Lance]
- * Added 'setd' support for local NPC scope (') variables. [Lance]
- * [Scripting Engine Update] New variables are ready to be used. [Lance]
- 2006/05/22
- * Updated skill_delayfix to return 0 for mobs since they have no skill
- delay other than the one specified in mob_skill_db [Skotlex]
- * Corrected the 20 lvl diff 15% exp bonus on pk_mode servers. Thanks to
- Vayu for pointing it out. [Skotlex]
- * status_get_sc_tick will now use directly Stun's formula rather than
- invoking the status sc chance once. [Skotlex]
- * Fixed a possible null pointer in script command misc_effect [Skotlex]
- * Modified Investigate to take into consideration final def/vit-def rather
- than base values for damage adjustment. [Skotlex]
- * WARNING: New scripting system contains memory leak
- TODO: Free all scripts using script_free_code() instead of old methods. [Lance]
- * Excluded idle and auto-trade party members from TK_POWER list. [Lance]
- * Fixed compilation errors.
- Tidy up jobmaster for easy debugging. [Lance]
- 2006/05/21
- * Part A of the Homunculus code.
- This only features the structures, status_* and clif_* (packets) and is
- not functional yet in any conventional way, but doesn't interfere
- with present functionality either.
- Main purpose is helping me to keep my work organized. [blackhole89]
- * Fixed the "fake" mute status bug. [Zido]
- * Speed up array size calculation and deletion. [Lance]
- * Player must learn the skill before doing auto-spell [Lance]
- * Exploit prevention in clif_parse_NpcStringInput [Lance]
- * SC_SPEARSQUICKEN -> SC_SPEARQUICKEN normalized enum name [Lupus]
- * Thanks to damirych & Falcon for [2006/04/30] STEAL skill [Lupus]
- 2006/05/20
- * grfio_final moved back if any of GRF overriding is enabled so servers
- with such configuration will not have different values after reloading. [Lance]
- * jA1983 script.c buildin_menu fix. Thanks to End_of_exam. [Lance]
- * Abit of alterations to login-server. [Lance]
- 2006/05/19
- * Minor unsigned/signed alteration in pc_additem to shut the compiler up. [Lance]
- * Small change in pc_additem that could be fixing the current bug with new
- items not getting added. [Skotlex]
- * Fixed loginlog definition in main.sql, thanks to Tempesta [Skotlex]
- * Likely fixed the mob-skill random picking behaviour causing infinite
- loops sometimes. [Skotlex]
- * Modified mobskill_use behaviour to pick a random starting point and check
- skills from that, rather than always checking from first to last. Fixes
- skills with high priority blocking skills lower down in the list from
- triggering. [Skotlex]
- * Updated mob ai behaviour so that mobs use IDLE state skills when their
- current target cannot be reached for melee fighting. [Skotlex]
- 2006/05/18
- * Added 5 config settings to adjust damage in pk-mode servers (misc.conf)
- [Skotlex]
- * Fixed mob_max_skilllvl being capped to 11! [Skotlex]
- * Rewrote/cleaned up several functions in storage.c [Skotlex]
- * Optimized pc_additem comparisons to account for items with more than four
- slots. [Skotlex]
- * Updated clif.c to enable retrieval of items from cart/storage while
- trading. Exception is retrieving items from the cart while vending.
- [Skotlex]
- - The reasoning is that an ongoing trade will not get "corrupted" if you
- earn items before it is commited (only if you lose items from your
- inventory), and it is an annoyance when you realize the stuff you want to
- trade is on the cart/storage.
- * skill reiteration code now does not checks for the trigger-area of the
- skill in the case of non-players, which means mobs can now place traps in
- cells adjacent to each other. [Skotlex]
- * Applied an experimental weather code that should lower bandwidth usage to
- near-none, which's only disadvantage should be the weather not clearing out
- until moving to another map (even when the mapflag is removed from the
- current map). Please test and report if there's any anomalies with it.
- [Skotlex]
- * NPC_AGIUP will now give movement boost of 50% [Skotlex]
- * Fixed WZ_WATERBALL number of hits when used by non-players. [Skotlex]
- * MO_BODYRELOCATION will send the slide packet with the actual src's
- coordinates rather than selected tile. [Skotlex]
- 2006/05/17
- * Modified mob_can_changetarget to return true always when the new target
- is the provoked-by character. Fixes provoke not making the mob change
- target when it already is locked on another player. [Skotlex]
- * Added check to clear previous skill when combo time ends. Should fix TK
- Rankers being unable to initiate a combo with the same kick their previous
- combo was finished with. [Skotlex]
- * Power Up and Agi Up now increase Hit/Flee by 20%/lv [Skotlex]
- 2006/05/16
- * Modified "hide woe damage" to send the number of hits rather than 1 as
- damage Because when the damage is less than the number of hits, the client
- will display MISS. [Skotlex]
- * Fire Pillar will now do 200%MATK damage per hit when level is >10.
- [Skotlex]
- * Blood Drain always hits now. [Skotlex]
- * Fixed Mob Area Skills not updating their use-time (rendering their skill
- delay useless) [Skotlex]
- * Search free cell will now skip picking the center-tile as target
- location. Will prevent slaves from walking on top of their master, or mobs
- placing stuff right under themselves with the "around" target conditions
- among other things. [Skotlex]
- 2006/05/15
- * Small changes to the skill.conf
- - Monsters now can place ground skills on top of each other by default
- - Land_Skill_Limit format changed and set to "Only Players" by default
- * When reading mapflags, when a map is set to be pvp or gvg, the other will
- be turned off (disables pvp mapflags in gvg maps for pk-servers) [Skotlex]
- * Firepillar's damage per hit is now 100% MATK (rather than 20%) when the
- skill level is above 10. [Skotlex]
- * Sorted out the item_data structure, getiteminfo should work correctly
- now. [Skotlex]
- * KA* skills can now be casted on other Soul Linkers as well without the
- Spirit requirement. [Skotlex]
- * Soul Drain will now show the SP drained regardless of drain display
- settings. [Skotlex]
- * SC_COMBO state will now end in skill_attack rather than
- skill_check_condition (as it is required there to apply damage bonuses
- based on combo-casted skills) [Skotlex]
- * Fixed Option_Wedding in const.txt (0x1000 won't work, it has to be 4096)
- [Skotlex]
- * Fixed the nocast flag 2 (not usable in pvp) returning true in pk-mode
- servers. [Skotlex]
- * When removing a castle's owning guild, the char servers will erase the
- guardian data now. [Skotlex]
- * Changed the behaviour of immobile mobs when they can't chase their
- target. Rather than using a longrange skill and then unlocking, they will
- use an attack/angry state skill and then unlock. [Skotlex]
- * Some adjustments of how disguising + gm-hiding work together. [Skotlex]
- * Fixed clif_GlobalMessage being the exact same function as clif_message
- (the first should send to ALL_CLIENT and the later should send to
- AREA_CHAT_WOS). Should fix globalmes script command. [Skotlex]
- * Added SC_BLADESTOP to the switch listing in status_change_start [Skotlex]
- * Characters in vending are now always considered "idle" if the
- idle_no_share setting is active. [Skotlex]
- * Players with OPTION_INVISIBLE should not be sent to clients. [Lance]
- * Remaining fixes for item scripts. [Lance]
- * Added NPC event deprecated warnings to ease debugging old scripts. [Lance]
- 2006/05/12
- * Supplied fake NPC ID in sd->npc_id for item scripts. [Lance]
- * Bugfix on fake npc [Lance]
- * Fixed mob_once_spawn not working for non-random coordinates. [blackhole89]
- * Reverted again the change that stuns the caster on Ske, Ska, Swoo when
- the target is a nonplayer (rather than always) [Skotlex]
- * Modified mob_spawn_once so that coordinates -1,-1 are "random around the
- player" while 0,0 are random around the whole map (regardless of whether
- there's a player attached or not) [Skotlex]
- * Knockback will no longer work on traps during woe. [Skotlex]
- 2006/05/11
- * Fixed the definition of the KEY in the loginlog, thanks to TheUltraMage
- [Skotlex]
- * NPC_POWERUP and NPC_AGIUP now cause a increase in hit/flee (respectively)
- of 40% per level. [Skotlex]
- * Changed a bit the MAX_ZENY checks in trade.c to prevent overflows.
- [Skotlex]
- * Rewrote npc_selllist for a more proper-clean implementation. [Skotlex]
- * Increased NPC_POWERUP's dex bonus to +25*lv [Skotlex]
- * Moved TK_DOWNKICK's stun time from time to time2 [Skotlex]
- * Added TK_TURNKICK's stun to splash-pushed mobs. Duration is 2secs (time2)
- [Skotlex]
- * Merged the code for Ska, Ske, Swoo together. Swoo stun duration is now 10
- secs (reducable) if you target a mob that already has Swoo active. [Skotlex]
- * Added the missing semi-comma from the upgrade_svn6533.sql file. Thanks to
- Tanaous [Skotlex]
- * Added back the missing code that substracts arrows when normal-attacking.
- [Skotlex]
- 2006/05/10
- * Changed the state of Asura back to explosionspirits, added a hardcoded
- move_enable check when invoking Asura and NOT while in BladeStop or a
- Combo. [Skotlex]
- * Added back SC_XMAS to status.c, it got lost sometime during all the
- previous reworkings. [Skotlex]
- * Changed wedding costumes to use setoption rather than changebase.
- [Skotlex]
- * Modified setoption so that flag 1 or no flag adds an option, and flag 0
- removes it. [Skotlex]
- * Updated script_commands with the new behaviour. [Skotlex]
- * Updated mob_db2.txt and mob_db2.sql to have only 10 drop slots rather
- than 15. [Skotlex]
- * Users are now able to use their own dnsbl servers (login_athena) [Zido]
- 2006/05/09
- * Rewrote/cleaned up trade.c for a more clean trading implementation.
- [Skotlex]
- * Added @request commands, sends a request to all connected GMs of
- lowest_gm_level or above as a whisper message. Defaults to gm level 20
- users (UNTESTED). [Skotlex]
- * Modified @commands to use Meruru's code which is faster and does a fair
- attempt at tabulating the commands presented. [Skotlex]
- * Updated SKA to return a random value between 0 and 99 each time
- status_get_def is invoked. [Skotlex]
- * Updated Making Arrow to not include unidentified items in the list.
- [Skotlex]
- * Reduced drop slots from 15 to 10. [Skotlex]
- * Updated mob_db.sql with the current data. [Skotlex]
- * Updated setoption script command to receive a second (optional) argument
- flag. If the flag is 1, the option is added to what the player currently
- has; likewise using flag 2 removes only that option. No flag (or any other
- value) is the older behaviour of removing all other options and setting
- specificly what is passed. [Skotlex]
- * Updated script_commands information for setoption due to this change.
- [Skotlex]
- * Small fix in npc-created chat rooms to properly include the terminating 0
- on the chat's event. [Skotlex]
- * Fixed Fog of Wall's symmetry in respect to Misc attacks, they no longer
- get reduced by 50% regardless of who is standing on the fog. [Skotlex]
- * monster_ai&2 will now trigger the rude-attacked skill when the mob can't
- move and the attacker is out of it's attack range. [Skotlex]
- * Added missing icon for Joint Beat [Skotlex]
- * Mob-search functions will now skip enemies with no exp/job_exp. [Skotlex]
- * Treasure chests will now be excluded from the mob-drop listings
- (@whodrops) [Skotlex]
- * Fix on pc_skill which fixes overlapping when one gets more than one bonus
- for the same skill. [Skotlex]
- * Updated main.sql's loginlog table structure. [Skotlex]
- * Added svn_update6533.sql to update the loginlog structure as suggested by
- theultramage. [Skotlex]
- * Cleaned up somewhat the implementation of BladeStop. [Skotlex]
- * Fixed the head_bottom (pet-armor) position in packet 0x22c (walk packet)
- when crafted for non-players. [Skotlex]
- * Script commands sc_start, sc_start2 and sc_start4 will now start
- regardless of sc defense of the target player (that is, they cannot be
- avoided/blocked) [Skotlex]
- * Fixed a possible counter overflow in attacked_count, changed the var size
- to unsigned char since the code can handle the overflow now. [Skotlex]
- * Multiple targets again reduces armor defense, as reported by Tharis.
- [Skotlex]
- * Increased dex bonus of NPC_POWERUP to +20 per level. [Skotlex]
- * Fog of Wall's -50 hit reduction is now only for ranged attacks. [Skotlex]
- 2006/05/08
- * Reverted the change that was making ES skills stun the caster always.
- [Skotlex]
- * Removed the fixpos packet which is sent whenever you are hit while moving
- as Aegis doesn't sends this packet neither. [Skotlex]
- * ES magic will now put the caster on stun for 0.5 secs regardless of
- whether the skill-target is a mob or not. [Skotlex]
- * Added function clif_party_join_info which sends packet 0x1e9 each time a
- party-member joins. This packet (as redundant info as it has) should also
- contain the field for "adoptability", but that needs to be coded in yet.
- [Skotlex]
- * Added clif_ParseAdoptRequest which does the basic adoption handling. More
- checks and the reply packets still need to be coded in. [Skotlex]
- * Happy State and TK stances won't dispel on death now. [Skotlex]
- * Cleaned up combo-skill implementation, SC_COMBO is automatically ended in
- skill_check_condition now. [Skotlex]
- * Modified TK-ranker infinite combos to behave as described by AuronX.
- Refer to his thread in the development section for details. [Skotlex]
- * Made all Soul Link Spirit skills not be castable on self. [Skotlex]
- * Changed rate of NPC status effect skills to 50+10*lv% base chance
- (guessed, but better than 100% for all levels) [Skotlex]
- * Changed max level of NPC status effect skills to 5 [Skotlex]
- * Increased max number of tries to find a random spot in maps to 1000 since
- some maps have so many non-walkable tiles it's hard to find one in just 100
- tries. [Skotlex]
- * status_set_viewdata will remove the Wedding Option status when you set a
- class that is not wedding. [Skotlex]
- * hide_gvg_damage will now send 1 instead of -1 as damage. [Skotlex]
- * idletime will now be updated on attack-request, not on sit/standup
- [Skotlex]
- * Party members sitting will no longer be considered idle. [Skotlex]
- * Removed SP_DISGUISE from the bonus list (onequip/onunequip should be used
- with the disguise/undisguise script commands instead). [Skotlex]
- * Moved Sharp Shooting display to the block with Auto-Counter (since that's
- the other skill that can show critical as well) [Skotlex]
- * Corrected some fields in the standing still packet (guild emblem being
- stored as a Long when it should be Short) [Skotlex]
- * Modified most fields of view_data to be unsigned shorts rather than
- signed ones. [Skotlex]
- * On-Touch NPCs will now make you stop walking when you trigger them.
- [Skotlex]
- * ShadowJump/JumpKick will make you land on the target's cell now.
- [Skotlex]
- * Fixed Kaahi triggering only once per skill duration. [Skotlex]
- 2006/05/07
- * Fixed readme/changelog.html [KillerBox]
- * Removed old logs. [Lupus]
- TODO: 1. Add produce logging into PICKLOG 2. Replace map names with map index
- 2006/05/05
- * Optimized clif.c clif_scriptmenu/input/inputstr to check for sd->state.using_fake_npc
- before sending one (as it's not required to send twice).
- * Reinitialize sd->state.using_fake_npc in clif_parse_LoadEndAck (for scripts that warps
- players and still continues execution to work). [Lance]
- * Updated item_db.sql to current. [Skotlex]
- * Fixed a bug in @commands, most likely the reason some people were still
- getting crashes. [Skotlex]
- * Fixed @commands not showing the last available commands (unless the total
- amount of commands is divisible by ten) [Skotlex]
- * Added a npc-script-event cache to avoid looking up event-scripts every
- time they need to be executed. Events cached are all those defined in
- script_config (on login, logout, mapchange, death, kill, level up) [Skotlex]
- - Since the cache holds direct pointers to the npcs/events, do NOT unload
- the related NPCs or you'll get dangling pointer crashes. However,
- @reloadscript will work fine.
- - Set the etc_log to on to see a summary of npcs/events loaded for script
- execution on startup.
- * The Rest bonus activated by using /doridori while in rest should now
- trigger with all the class tree (TK/SL/SG) [Skotlex]
- * Fixed Kaupe always triggering when the one who was under Kaupe was a
- player rather than the one attacking... [Skotlex]
- * /doridori now won't double the HP/SP regen of TKs, it only activates
- their "happy" state. [Skotlex]
- * Added the -50 hit penalty when standing on Wall of Fog. [Skotlex]
- * Uncommented the status_calc_mdef2 call in status_calc_pc. [Skotlex]
- * Being in Enjoyable Rest state will now also trigger the HP/SP Time skills
- (even if there's no other TK around). [Skotlex]
- * Added battle config settings view_range_rate and chase_range_rate to
- adjust the view-range and chase-range (range2/range3) of the mob_db without
- having to manually change them (battle/monster.conf) [Skotlex]
- * Kaupe now will only block all skills of players, for non-players, only
- normal attacks can be missed. [Skotlex]
- * Moved the Kaite spell-reflect code after the damage calculation function,
- so the reflected damage is exactly the damage the original target would
- have received. Will only trigger if the damage to be reflected is above 0.
- [Skotlex]
- * OnEquip scripts will now trigger on log-on. [Skotlex]
- * Infinite Endure will no longer give mdef bonus. [Skotlex]
- * Removed bInfiniteEndure bonus, Eddga card now uses onequip/onunequip to
- start/end infinite endure. [Skotlex]
- * Fixed Kaahi's SP cost per heal. [Skotlex]
- * Now when walkdelay is set to 0, characters will stop walking when hit,
- but will not have any walk delay. (previously setting walk delay to 0 would
- not even stop characters from walking when hit) [Skotlex]
- 2006/05/04
- * Some people think its sexy to declare variables after blocks of code. Fixed. [Zido]
- * Fixed a possible infinite loop in skill_clear_unit_group [Skotlex]
- * Some clean-ups in the mob_ai [Skotlex]
- * Improved atcommand autoloot, now displays droprate in percents and notices
- player if autoloot is already on or off. Also simplified the code [Harbin, Kain],
- commited by erKURITA
- * Added one grace range in the mob_loot search function which should fix
- mob_can_reach failing when invoked with the same distance that distance_bl
- returned. [Skotlex]
- * Stun time for using ES magic on non-mobs reduced to 0.5 secs. [Skotlex]
- * Eska is now usable on bosses. [Skotlex]
- * Swoo will stun you if attempted on an already 'swooned' enemy. [Skotlex]
- * clif_skill_failed will print out a debug line with the skill_id (since
- the current null_po does not helps at all to fix it) [Skotlex]
- * Applied TheUltraMage's suggested fixes to the grfio module. [Skotlex]
- * Rewrote Kaahi to behave as it should. It will heal whatever amount of
- damage accumulates in the time2 interval (500ms by default) after being
- hit. [Skotlex]
- * Changed skill_unit_move_unit_group to enable moving of all types of
- ground-skills except ensembles (fixes warmth not following you) [Skotlex]
- 2006/05/03
- * Kaahi now triggers every 500ms rather than on every hit (but it only
- heals if in those 500ms an attack that would previously trigger Kaahi has
- taken effect). In other words, it works just like before, except damage
- gets "buffered" into 500ms slots. [Skotlex]
- * Kaite, Kaute will now show a skill effect when they trigger. [Skotlex
- * Knowledge will now only trigger if you logon to the memorized map, not
- walk into it. [Skotlex]
- * Corrected @whomap directly invoking msg_table[] rather than msg_txt()
- [Skotlex]
- * Guessed where the pet data goes in spawn packet 0x7c. This may be wrong
- and not fix the pet issue, but I doubt it'll cause any problems that won't
- be fixed by making the pet move. [Skotlex]
- * Updated Charge Attack's state from none to move_enable. [Skotlex]
- * Made tomahawk an NPC_SKILL so that it may not be plagiarized. [Skotlex]
- 2006/05/02
- * Fixed standing up not really standing you up. [Skotlex]
- * Moved battle_consume_ammo to the end of skill_castend_damage_id,
- skill_castend_nodamage_id and skill_castend_pos2 rather than
- battle_calc_weapon_attack. They will trigger when the player's arrow_atk
- state is active and a ground skill was not invoked. It should fix all
- issues with splash/ground skills consuming ammo per target rather than once
- per skill use. [Skotlex]
- * Added structure state to the ground skills, their fields are magic_power,
- into_abyss and ammo_consume to indicate the states that were previously
- stored in val3. [Skotlex]
- * Implemented desperado as explained by Rockman-EXE. The skill-effect is
- not showing up though, I'll need some logged packets to see what's missing.
- [Skotlex]
- * Removed the unit_can_move checks in skill cast-end, they should be
- performed in skill_check_require when the skill's state is move_enabled.
- [Skotlex]
- * Changed extremity fist's state to move_enabled, the explosion spirits
- check is now hardcoded. [Skotlex]
- * Absorb Spirit Sphere now gives +10SP per sphere as per discussions with
- Haplo. [Skotlex]
- * Changed a <= into a < in pc_steal_item. This means drops with 0.01% are
- impossible to steal unless you have at least 100% steal-rate (where steal
- rate is dex - opponent dex + skill_lv*3% + 10%) [Skotlex[
- * Cleaned up clif_parse_action_request to enable sitting/standing while in
- shops, interacting with npcs, etc. [Skotlex]
- * Kaite now works against all types of spells. [Skotlex]
- * Kaupe now works against all skills. [Skotlex]
- * Sanctuary now won't damage non-enemies. [Skotlex]
- * Blessing now will always give you bonus stats even if you are wearing
- undead armor. [Skotlex]
- * Modified how Rogue's treasure works so that you get +1% to your steal
- rate rather than +0.01% to the final rate. [Skotlex]
- * Rewrote Warmth to use ground-skill-units, it should behave now like in
- officials (implementation is not quite the same, but it should yield the
- same effects while consuming less bandwidth). "Stacking", as it's called,
- is possible now, but limited to eA's minimum timer skill interval (100ms).
- [Skotlex]
- * Modified NPC_POWERUP so that it gives +10 dex * skill level rather than
- +5+lv to all stats (as explained by Playtester and Tharis on how the skill
- behaves). [Skotlex]
- * Allowed SG_FEEL memorizing the same map for all three. [Skotlex]
- * SC_FUSION won't end when you die now. [Skotlex]
- 2006/05/01
- * Added knockback when you run into a wall during running. However
- position is not being refreshed on the client yet... [Skotlex]
- * Fixed pc_disguise not allowing you to "redisguise". [Skotlex]
- * Corrected a crash when sd is null in npc_event [Skotlex]
- * After testing to make sure it works properly, I'm including
- new battle conf options to limit MVP drops. [Reddozen]
- * Removed OPTION_XMAS, it seems to not exist.... [Skotlex]
- * Added SC_SMA to handle "ready to use SMA" status (rather than SC_COMBO)
- since it has a visual effect to use. [Skotlex]
- * Corrected the value of OPTION_FLYING [Skotlex]
- * Using SG_FUSION ends Soul Linked effect. [Skotlex]
- * status_setviewdata will set your option accordingly when the previous/new
- view-class is wedding or xmas suit. [Skotlex]
- * Added function map_foreachinshootrange, behaves the same way as
- map_foreachinrange, but it also performs a "shoot-path" check before
- invoking the function. Used in the skill subtimer function if
- skill_wall_check is defined. [Skotlex]
- * Fixed AL_WARP displaying "Unknown Area" selections when you don't have
- all memo points used up. [Skotlex]
- * Fixed alive_count not being reset on skill unitsetting, which leads to
- some groups not being cleared once all their units expire. [Skotlex]
- * Optimized Kaahi/Kahai, will now only show the amount of HP healed. Moved
- to skill_counter additional effect so it may trigger even on miss. [Skotlex]
- * SKA no longer blocks skills. [Skotlex]
- * Optimized fake npc system. Added npc_checknear back to npc_buysellsel. [Lance]
|