From: <wel...@us...> - 2011-02-06 19:11:07
|
Revision: 6864 http://planeshift.svn.sourceforge.net/planeshift/?rev=6864&view=rev Author: weltall2 Date: 2011-02-06 19:11:00 +0000 (Sun, 06 Feb 2011) Log Message: ----------- added new properties for mathscripts in transformations added the calculateeventduration in math script format Modified Paths: -------------- trunk/src/server/bulkobjects/pstrade.cpp trunk/src/server/bulkobjects/pstrade.h trunk/src/server/database/mysql/math_scripts.sql trunk/src/server/workmanager.cpp Modified: trunk/src/server/bulkobjects/pstrade.cpp =================================================================== --- trunk/src/server/bulkobjects/pstrade.cpp 2011-02-06 19:07:27 UTC (rev 6863) +++ trunk/src/server/bulkobjects/pstrade.cpp 2011-02-06 19:11:00 UTC (rev 6864) @@ -105,27 +105,40 @@ bool psTradeTransformations::Load(iResultRow& row) { - id = row.GetUInt32("id"); - patternId = row.GetUInt32("pattern_id"); - processId = row.GetUInt32("process_id"); - resultId = row.GetUInt32("result_id"); - resultQty = row.GetInt("result_qty"); - itemId = row.GetUInt32("item_id"); - itemQty = row.GetInt("item_qty"); - transPoints = row.GetInt("trans_points"); - penaltyPct = row.GetFloat("penalty_pct"); + id = row.GetUInt32("id"); + patternId = row.GetUInt32("pattern_id"); + processId = row.GetUInt32("process_id"); + resultId = row.GetUInt32("result_id"); + resultQty = row.GetInt("result_qty"); + itemId = row.GetUInt32("item_id"); + itemQty = row.GetInt("item_qty"); + transPoints = row.GetInt("trans_points"); + //transPointsScript = MathScript::Create("transpoints", row["trans_points"]); + penaltyPct = row.GetFloat("penalty_pct"); return true; } double psTradeTransformations::GetProperty(MathEnvironment* env, const char *ptr) { csString property(ptr); - if (property == "ItemQualityPenaltyPercent") + if(property == "ItemQualityPenaltyPercent") { return (double)GetItemQualityPenaltyPercent(); } - if (property == "TransformPoints") + if(property == "ItemQuantity") { + return (double)GetItemQty(); + } + if(property == "ItemID") + { + return (double)GetItemId(); + } + if(property == "ResultItemID") + { + return (double)GetResultId(); + } + if(property == "TransformPoints") + { return (double)GetTransPoints(); } Modified: trunk/src/server/bulkobjects/pstrade.h =================================================================== --- trunk/src/server/bulkobjects/pstrade.h 2011-02-06 19:07:27 UTC (rev 6863) +++ trunk/src/server/bulkobjects/pstrade.h 2011-02-06 19:11:00 UTC (rev 6864) @@ -28,6 +28,7 @@ // Project Includes //============================================================================= #include <idal.h> +#include "util/mathscript.h" //============================================================================= // Local Includes @@ -129,6 +130,7 @@ int itemQty; float penaltyPct; int transPoints; + MathScript* transPointsScript; private: /** Cache flag is used for garbage collection Modified: trunk/src/server/database/mysql/math_scripts.sql =================================================================== --- trunk/src/server/database/mysql/math_scripts.sql 2011-02-06 19:07:27 UTC (rev 6863) +++ trunk/src/server/database/mysql/math_scripts.sql 2011-02-06 19:11:00 UTC (rev 6864) @@ -489,6 +489,16 @@ } }"); +INSERT INTO math_scripts VALUES( "Calculate Transformation Time", +"if(Transform:ItemQuantity & Transform:ItemID != 0 & Transform:ResultItemID != 0) +{ + Time = Transform:TransformPoints + Transform:TransformPoints*(Object:StackCount -1) * 0.1); +} +else +{ + Time = Transform:TransformPoints; +}"); + Modified: trunk/src/server/workmanager.cpp =================================================================== --- trunk/src/server/workmanager.cpp 2011-02-06 19:07:27 UTC (rev 6863) +++ trunk/src/server/workmanager.cpp 2011-02-06 19:11:00 UTC (rev 6864) @@ -2505,7 +2505,7 @@ { // Calculate the seconds needed in order to complete this event int time = 0; - if(calc_transform_apply_skill) + if(calc_transform_time) { MathEnvironment env; env.Define("Object", transItem); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |