Jennifer In Control
Jennifer In Control
Title:buy_tasks_lib
Sex: Female T Male T Trans T
Require:
Limits:
; just for testing:
assign:taskName:'task2'
;
;================================================================
;================================================================
;==================== TODO: move to global lib ==================
;================================================================
;================================================================
;
call:check_bought_tasks_and_deadlines
;----------------------------------------------------------------
function:check_bought_tasks_and_deadlines
;----------------------------------------------------------------
; Part 1: check global bought tasks and write them to todo tasks of the user:
; TASKS_TODO_BY_ME contains: <task name>,<deadline>,<optional from user>;..
loadtemp1:TASKS_TODO_BY_ME
assign:globalTasksTodoByMe:'TEMP1'
if: '$taskName' != 'buy_tasks'
; GLOBAL_BOUGHT_TASKS contains: <to user>,<task name>,<from user>;..
loadgtemp1:GLOBAL_BOUGHT_TASKS
assign:globalBoughtTasks:'TEMP1'
if: '$globalBoughtTasks'.includes('SNAME,')
assign:globalNoOfBoughtTasks:'$globalBoughtTasks'.split(';').length-1
assign:globalTodoCounter:0
label:startOfCheckBoughtTasksLoop
assign:globalBoughtTaskTo:'$globalBoughtTasks'.split(';')[$globalTodoCounter].split(',')[0]
assign:globalBoughtTaskTaskName:'$globalBoughtTasks'.split(';')[$globalTodoCounter].split(',')[1]
assign:globalBoughtTaskFrom:'$globalBoughtTasks'.split(';')[$globalTodoCounter].split(',')[2]
if: 'SNAME' == '$globalBoughtTaskTo'
image:taskimg/assistant_at_desk2.jpg
show:<b>$globalBoughtTaskFrom</b> has bought the task <b>$globalBoughtTaskTaskName</b> for you. I've added it to your 'Tasks ToDo' list, you'll have to do it within 30 days.
; dtask:0:$globalBoughtTaskFrom:$globalBoughtTaskTaskName:720
; msg:$globalBoughtTaskFrom:SNAME was now informed that you've bought the task $globalBoughtTaskTaskName for them. They have to do it within 30 days.
settemp1:(TIMENOW+(30*24*60*60*1000))
assign:globalTasksTodoByMe:'$globalTasksTodoByMe$globalBoughtTaskTaskName,TEMP1,$globalBoughtTaskFrom;'
assign:globalBoughtTasks:'$globalBoughtTasks'.replace('$globalBoughtTaskTo,$globalBoughtTaskTaskName,$globalBoughtTaskFrom;','')
assign:globalNoOfBoughtTasks:$globalNoOfBoughtTasks-1
assign:globalTodoCounter:$globalTodoCounter-1;
button:I understand, Miss Claire
fi:
assign:globalTodoCounter:$globalTodoCounter+1;
if: $globalTodoCounter < $globalNoOfBoughtTasks
goto:startOfCheckBoughtTasksLoop
fi:
settemp1:'$globalBoughtTasks'
savegtemp1:GLOBAL_BOUGHT_TASKS
fi:
fi:
; -----------
; Part 2: check dtask deadlines
assign:globalAlreadyRemovedThisTask:false
assign:globalNoOfTodoTasks:'$globalTasksTodoByMe'.split(';').length-1
assign:globalTodoCounter:0
if: $globalNoOfTodoTasks > 0
label:startOfCheckTodoTasksLoop
assign:globalTodoTaskName:'$globalTasksTodoByMe'.split(';')[$globalTodoCounter].split(',')[0]
assign:globalTodoTaskDeadline:'$globalTasksTodoByMe'.split(';')[$globalTodoCounter].split(',')[1]
assign:globalTodoTaskOptionalFrom:'$globalTasksTodoByMe'.split(';')[$globalTodoCounter].split(',')[2]
if: TIMENOW > $globalTodoTaskDeadline
image:taskimg/assistant_at_desk2.jpg
if: '$globalTodoTaskOptionalFrom' != 'undefined'
settemp1:' that <b>$globalTodoTaskOptionalFrom</b> has bought for you'
else:
settemp1:''
fi:
show:You've missed the deadline of the task <b>$globalTodoTaskName</b>TEMP1. I'm really sorry but I had to remove 5 mood for that.
button:I'm sorry, Miss Claire
if: '$globalTodoTaskOptionalFrom' != 'undefined'
;
settemp1:'$taskName'
if: '$taskName' != '$taskName' && '$globalTodoTaskName' == 'TEMP1'
;msg:$globalTodoTaskOptionalFrom:SNAME just started the task $taskName that you bought for them. They started it after the deadline of 30 days though, so they also lost 5 mood.
else:
;msg:$globalTodoTaskOptionalFrom:SNAME did not do the task $taskName that you bought for them within 30 days. Thus they've lost 5 mood, and don't have to do the task anymore.
fi:
settemp1:',$globalTodoTaskOptionalFrom'
else:
settemp1:''
fi:
assign:globalTasksTodoByMe:'$globalTasksTodoByMe'.replace('$globalTodoTaskName,$globalTodoTaskDeadlineTEMP1;','')
assign:globalNoOfTodoTasks:$globalNoOfTodoTasks-1
assign:globalTodoCounter:$globalTodoCounter-1;
else:
settemp1:'$taskName'
if: '$taskName' != '$taskName' && '$globalTodoTaskName' == 'TEMP1'
if: !$globalAlreadyRemovedThisTask
if: '$globalTodoTaskOptionalFrom' != 'undefined'
;msg:$globalTodoTaskOptionalFrom:SNAME just started the task $taskName that you bought for them
settemp1:',$globalTodoTaskOptionalFrom'
else:
settemp1:''
fi:
assign:globalTasksTodoByMe:'$globalTasksTodoByMe'.replace('$globalTodoTaskName,$globalTodoTaskDeadlineTEMP1;','')
assign:globalNoOfTodoTasks:$globalNoOfTodoTasks-1
assign:globalTodoCounter:$globalTodoCounter-1;
assign:globalAlreadyRemovedThisTask:true
else:
; due to a current bug in the system all todo tasks with the same name will be removed, thus add it again
; dtask:1:Miss Claire:$taskName:720
fi:
fi:
fi:
assign:globalTodoCounter:$globalTodoCounter+1;
if: $globalTodoCounter < $globalNoOfTodoTasks
goto:startOfCheckTodoTasksLoop
fi:
settemp1:'$globalTasksTodoByMe'
button:saving (TEMP1)
savetemp1:TASKS_TODO_BY_ME
fi:
end:
;
;================================================================
;================================================================
;================================================================
;================================================================
;================================================================
</code>